在MySQL中实现Rank普通并列排名函数
SELECT pid, name, age,
CASE
WHEN @prevRank = age THEN @curRank
WHEN @prevRank := age THEN @curRank := @curRank + 1
END AS rank
FROM players p,
(SELECT @curRank :=0, @prevRank := NULL) r
ORDER BY age
查询无并列,按序排名
SELECT pid, name, age, @curRank := @curRank + 1 AS rank
FROM players p, (
SELECT @curRank := 0
) q
ORDER BY age DESC, name
文章详细介绍了如何在MySQL中使用CASE语句实现普通并列排名和按顺序排名的功能,包括处理无并列情况和指定排序顺序的过程。
2877

被折叠的 条评论
为什么被折叠?



