无间隙sql : DENSE_RANK()
SELECT score, DENSE_RANK() OVER (ORDER BY Score DESC) AS 'Rank'
FROM scores;
有间隙sql: RANK()
SELECT score, RANK() OVER (ORDER BY Score DESC) AS 'Rank'
FROM scores;
所有行都有序号: ROW_NUMBER()
SELECT score, ROW_NUMBER() OVER (ORDER BY Score DESC) AS 'Rank'
FROM scores;
分组NTILE(平均组数)
SELECT
SUBJECT,score,
NTILE(3) OVER (
ORDER BY score DESC
) SUBJECT
FROM
scores;
获取第二高分数的排名
SELECT SUBJECT,score,DENSE_RANK() OVER(PARTITION BY SUBJECT ORDER BY score DESC) AS 'GroupRANK',
DENSE_RANK() OVER(ORDER BY score DESC) AS 'RANK',
RANK() OVER(ORDER BY score DESC) AS 'GlibRANK' ,
ROW_NUMBER() OVER(ORDER BY score DESC) AS 'NormalRANK' FROM scores LIMIT 1 OFFSET 1
分组排序
SELECT SUBJECT,score,DENSE_RANK() OVER(PARTITION BY SUBJECT ORDER BY score DESC) AS 'GroupRANK'
FROM scores