1. 程式人生 > >【mysql】排序方法

【mysql】排序方法

記錄 mysql group by esc 通過 成績 avi 前三 方法

查詢各科成績前三名的記錄,不考慮並列的情況;


select
a.course_id as 課程ID,
a.score as 成績,
count(a.course_id) as 排名
from score a left join score b on a.course_id=b.course_id and a.score<=b.score
group by a.course_id,a.score
having count(a.course_id)<4
order by a.course_id,a.score desc;

其中排序方法就是通過同表比對, count(a.course_id) 實際上是統計同一表中有多少個低於(高於)該行分數的行,進而轉化為該行的實際排名

【mysql】排序方法