mysql 的高级排行榜,并列的名次顺延。
| ranking | age |
| 1 | 13 |
| 1 | 13 |
| 3 | 12 |
| 4 | 11 |
sql如下,一个sql框,自己填入自己的表和逻辑
SELECT
ranking.*,
@curRank := @curRank +1 AS p,
@preRank := IF(@preAge= ranking.age,@preRank,@curRank) AS ranking,
@preAge := ranking.age AS prai
FROM
(SELECT * FROM person ORDER BY age DESC) ranking,
(SELECT @curRank :=0 ,@preAge= NULL , @preRank := 1 ) r
初始化 @preRank := 1 ,不要赋值为0。
2608

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



