2022-07-16 ROW_NUMBER, DENSE_RANK, RANK
ROW_NUMBER, DENSE_RANK, RANK
MYSQLで分析関数(ROW_NUMBER, DENSE_RANK, RANK)を使わずに連番を振る - Qiita
SELECT ROW_NUMBER() OVER(ORDER BY 点数) AS 番号
, Z.*
FROM 成績表 AS Z;
SELECT DENSE_RANK() OVER(ORDER BY 点数) AS 番号
, Z.*
FROM 成績表 AS Z;
SELECT RANK() OVER(ORDER BY 点数) AS 番号
, Z.*
FROM 成績表 AS Z;
ROW_NUMBER()
: 1 からインクリメンタルに加算されていく(e.g. 1,2,3,4…)DENSE_RANK()
: 1 から同一順は同番号で並んでいく(e.g. 1,2,2,3…)RANK()
: 1 から同一順は同番号で並んでいき、同一順位が出た場合、間の番号はskipされる(e.g. 1,2,2,4…)