您的位置:首页 > 数据库

一条SQL语句搞定分组并且每组限定记录集的数量

2014-07-25 21:22 459 查看
如果我想得到这样一个结果集:分组,并且每组限定记录集的数量,用一条SQL语句能办到

比如说,我想找出学生期末考试中,每科的前3名,只用一条SQL语句,该怎么写?

表[TScore]的结构

code 学号 char

subject 科目 int

score 成绩 int

可以这样写:

SELECT [code],[subject],[score] FROM (
SELECT *,RANK() OVER(PARTITION BY subject ORDER BY score DESC) AS Row FROM TScore
) AS a
WHERE Row <= 3 ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: