首页 新闻 会员 周边 捐助

求一条有些小复杂的ms sql查询语句!请各位大侠帮帮俺!

0
悬赏园豆:10 [已解决问题] 解决于 2011-02-16 09:32

求ms sql语句,我想查询出新闻表中每个新闻分类的中点击量最高的前两条新闻?

 

求ms sql语句,我想查询出新闻表中每个新闻分类的中点击量最高的前两条新闻,新闻分类数量是不固定的!假如新闻分类有10个,那么出来的结果是20条!

 

新闻表中的字段:id title content click type addTime

长风之子的主页 长风之子 | 初学一级 | 园豆:184
提问于:2011-02-15 17:00
< >
分享
最佳答案
0

SELECT * FROM News AS T WHERE ID IN(SELECT TOP 2 ID FROM News WHERE [type]=T.[type] ORDER BY Click DESC);

 

试试啦,假设News为表名(根据情况你自己修改一下)

收获园豆:5
artwl | 专家六级 |园豆:16736 | 2011-02-15 17:26
其他回答(1)
0
select *
from (
select id,title,content,click,type,addTime,
ROW_NUMBER()
OVER (PARTITION BY type ORDER BY click) number
from table
)
temp
where number<=2

如果是sql server 2005的话,应该可以这样操作,自己没试,呵

收获园豆:5
wgz | 园豆:1254 (小虾三级) | 2011-02-15 20:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册