mysql相同數值排序

bo792852176發表於2022-11-11

select
tmp.id,tmp.name,tmp.score,
– 順序一直在變大
@j:=@j+1 as j,
– 只有在前後二次排序值不同時才會使用順序號
@k:=(case when @pre_score=tmp.score then @k else @j end) as rank,
@pre_score:=tmp.score as pre_score
from
(
– 成績排序
select * from score order by score desc
) tmp,
– @k 表示最終的排名(相同值時序號相同)
– @j 表示順序排名
– @pre_score上一次排序值
(select @k :=0,@j:=0, @pre_score:=0) sdcore

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章