Solved

Select TOP 3 items based on date

Posted on 2008-10-08
7
166 Views
Last Modified: 2010-03-19
My client has a database table containing news items for their website.

I need to run a select statement that grabs the most recent 3 news items that have been posted within the last 3 months.  If 3 items have been posted in the 3 month period, then just grab the most recent 3 items.

I can do this easily enough using an IF/COUNT statement and running the 2 queries seperately, but wondered if it is possible to run the above logic as a single statement?
0
Comment
Question by:Rouchie
7 Comments
 
LVL 60

Expert Comment

by:chapmandew
Comment Utility
it will be a lot easier if you post some sort of table structure on here for us to query.
0
 
LVL 7

Expert Comment

by:Norush
Comment Utility
Can you show us the queries you are using at the moment?

We can improve them to the 1 query you want then.
0
 
LVL 25

Author Comment

by:Rouchie
Comment Utility
Hi

These are the only 2 columns I need to retrieve data from.

[tblNews]
        |-- [datePosted]  datetime
        |-- [newsTitle]     nvarchar(200)
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 4

Assisted Solution

by:GO-87
GO-87 earned 250 total points
Comment Utility
Would this work?
 

SELECT TOP 3 NewsItemID

FROM tblNewsItems

WHERE NewsItemDate > DateAdd(month, -3, getdate())

ORDER BY NewsItemDate DESC

Open in new window

0
 
LVL 37

Accepted Solution

by:
momi_sabag earned 250 total points
Comment Utility
select top 3 newsTitle
from tblNews
where datePosted > dateadd(month, -3, getdate())
order by datePosted desc
0
 
LVL 4

Expert Comment

by:GO-87
Comment Utility
Ha ha, snap!
0
 
LVL 25

Author Comment

by:Rouchie
Comment Utility
Okay that's exactly what I've got at the moment.

The problem is that the front page of their web site has a space for news items.  So, if they get lazy (or nothing happens worth reporting on) and they don't add any news items for a few months, then the news area would show up empty.
Therefore I was wanting to run some kind of check to grab old news if no news existed!

Thinking about it though its probably easiest to just grab the top 3 items and forget the whole date thing...
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Everyone has problem when going to load data into Data warehouse (EDW). They all need to confirm that data quality is good but they don't no how to proceed. Microsoft has provided new task within SSIS 2008 called "Data Profiler Task". It solve th…
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now