首页 > 数据库技术 > 详细

一条Sql语句分组排序并且限制显示的数据条数

时间:2017-01-03 19:02:38      阅读:429      评论:0      收藏:0      [点我收藏+]

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

 

引用自:http://blog.csdn.net/leftfist/article/details/6203254

一条Sql语句分组排序并且限制显示的数据条数

原文:http://www.cnblogs.com/H2921306656/p/6245492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!