首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求SQL语句:24小时评论排行榜(只要前3条数据),该如何解决

2012-03-22 
求SQL语句:24小时评论排行榜(只要前3条数据)表Subjects(评论表)字段sno(自动编号)gno(商品编号:这个字段是

求SQL语句:24小时评论排行榜(只要前3条数据)
表Subjects(评论表)
字段
sno(自动编号)
gno(商品编号:这个字段是记录商品的编号,就是说本条评论对应的是该商品)
putOut(评论的用户名)
poDate(评论时间)
content(评论内容)
comType(评论类型:条件语句中where comType = '评论' 就可以了)
poState(评论状态:条件语句中where poState = '通过' 就可以了)

表Goods(商品表)
字段
gno(商品编号:这个字段需与表Subjects的gno字段相关联)
title(商品名)

求24小时评论排行榜(只要前3条数据)
我的理解应该是24小时内评论数最多的商品依次排名,第一名,第二名,第三名。前台显示需要有商品名,用户名,评论时间,评论内容。

求7天评论排行榜(只要前3条数据)
我的理解应该是7天内评论数最多的商品依次排名,第一名,第二名,第三名。前台显示需要有商品名,用户名,评论时间,评论内容。

[解决办法]

SQL code
--求24小时评论排行榜(只要前3条数据)select top 3 row_number() over(order by getdate()) '排名',a.gno '商品编号',b.title '商品名',a.ct '评论数'from (select gno,count(*) ct  from Subjects where comType='评论' and poState='通过' and datediff(hh,poDate,getdate())<=24 group by gno) ainner join Goods b on a.gno=b.gnoorder by a.ct desc--求7天评论排行榜(只要前3条数据)select top 3 row_number() over(order by getdate()) '排名',a.gno '商品编号',b.title '商品名',a.ct '评论数'from(select gno,count(*) ct  from Subjects where comType='评论' and poState='通过' and datediff(d,poDate,getdate())<=7 group by gno) ainner join Goods b on a.gno=b.gnoorder by a.ct desc 

热点排行
Bad Request.