Solved

Select TOP 3 items based on date

Posted on 2008-10-08
7
167 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
ID: 22668625
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
ID: 22668631
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
ID: 22668663
Hi

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

[tblNews]
        |-- [datePosted]  datetime
        |-- [newsTitle]     nvarchar(200)
0
Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

 
LVL 4

Assisted Solution

by:GO-87
GO-87 earned 250 total points
ID: 22668694
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
ID: 22668692
select top 3 newsTitle
from tblNews
where datePosted > dateadd(month, -3, getdate())
order by datePosted desc
0
 
LVL 4

Expert Comment

by:GO-87
ID: 22668708
Ha ha, snap!
0
 
LVL 25

Author Comment

by:Rouchie
ID: 22668753
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

Zoho SalesIQ

Hassle-free live chat software re-imagined for business growth. 2 users, always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

863 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

22 Experts available now in Live!

Get 1:1 Help Now