表(news)结构如下:
id,Title,AddDate,typeid,content,hits
1 新闻1 2004-07-28 00:00:00 国内新闻 新闻1内容 300
2 新闻2 2004-07-26 00:00:00 财经新闻 新闻2内容 139
3 新闻3 2004-07-29 00:00:00 国外新闻 新闻3内容 118
………………想得到的结果:
按hits排序并且离当前时间一个月的记录,只top 10条
(就是得到一个本月点击排行榜)
id,Title,AddDate,typeid,content,hits
1 新闻1 2004-07-28 00:00:00 国内新闻 新闻1内容 300
2 新闻2 2004-07-26 00:00:00 财经新闻 新闻2内容 139
3 新闻3 2004-07-29 00:00:00 国外新闻 新闻3内容 118
………………想得到的结果:
按hits排序并且离当前时间一个月的记录,只top 10条
(就是得到一个本月点击排行榜)
Select Top 10 *
From News
Where DateDiff(mm,AddDate,Getdate())=1
Order by Hits Desc
declare @t2 table (id int,Title char(10),AddDate datetime,typeid char(10),content char(10),hits int)
insert @t1
select 4 , '新闻4' ,'2006-07-01 00:00:00', '国外新闻' ,'新闻4内容', 120 union all
select 1 , '新闻1','2006-07-01 00:00:00', '国内新闻', '新闻1内容', 300 union all
select 2 , '新闻2', '2006-07-09 00:00:00', '财经新闻', '新闻2内容' ,139 union all
select 3 , '新闻3' ,'2006-07-10 00:00:00', '国外新闻' ,'新闻3内容', 118 insert @t2
select 1 , '新闻1','2006-07-28 00:00:00', '国内新闻', '新闻1内容', 300 union all
select 2 , '新闻2', '2006-07-26 00:00:00', '财经新闻', '新闻2内容' ,139 union all
select 3 , '新闻3' ,'2006-07-29 00:00:00', '国外新闻' ,'新闻3内容', 118 select * from @t1 Where DateDiff(dd,AddDate,Getdate())<30