一条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基础教程-数组