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

来源:互联网 发布:vb关闭窗口代码 编辑:程序博客网 时间:2024/05/29 17:01

如果我想得到这样一个结果集:分组,并且每组限定记录集的数量,用一条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 ;


 

 

0 0
原创粉丝点击