教程集 www.jiaochengji.com
教程集 >  数据库  >  mssql  >  正文 一条SQL语句搞定分组且每组限定记录集的数量

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

发布时间:2014-07-20   编辑:jiaochengji.com
如果想得到这样一个结果集:分组,并且每组限定记录集的数量,用一条SQL语句能办到吗?

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

您可能感兴趣的文章:
一条SQL语句搞定分组且每组限定记录集的数量
用PHP MySQL进行分页的详细说明(一)
PHP分页
PostgreSQL从菜鸟到专家系列教程(5)什么是数据库管理系统
mysql group by和having实例详解
mysql where和having子句的用法
msyql having和group by子句的二个例子
分组查询GROUP BY用法例子详解
有关php分页显示的制作方法
vbscript基础教程-数组

[关闭]
~ ~