有的时候,一张表中通过某个字段区别该条记录所指的对象类型,比如成绩表
问题提出(其实很简单了):假设有一个年级,500人,某次期末考,考6门课,结果将是3000条成绩记录,并将这3000条记录存入tb_score_data表中
该表的字段如下:
NAME: 姓名
GRADE: 年级
CLASS: 班级
SUBJECT: 科目
SCORE: 分数
现在通过脚本查询,返回此次考试中各科的成绩的第一名
(????)
Solution: (答案采用密文 ^0^)
SELECT *
FROM (SELECT p.*,
ROW_NUMBER () OVER (PARTITION BY subject ORDER BY score DESC)
AS row_index
FROM tb_score_data)
WHERE row_index = 1;