在MySQL中实现Rank普通排名函数


-- 在MySQL中实现Rank普通排名函数
SELECT company_no, company_name,b_score, @curRank := @curRank + 1 AS rank
FROM credit_score p, (
SELECT @curRank := 0
) q
ORDER BY b_score DESC;


-- 在MySQL中实现Rank普通并列排名函数
SELECT company_no, company_name,b_score,
CASE
WHEN @prevRank = b_score THEN @curRank
WHEN @prevRank := b_score THEN @curRank := @curRank + 1
END AS rank
FROM credit_score p,
(SELECT @curRank :=0, @prevRank := NULL) r
ORDER BY b_score DESC;

-- 在MySQL中实现Rank高级并列排名函数

SELECT company_no, company_name,b_score, rank FROM
(SELECT company_no, company_name,b_score,
@curRank := IF(@prevRank = b_score, @curRank, @incRank) AS rank,
@incRank := @incRank + 1,
@prevRank := b_score
FROM credit_score p, (
SELECT @curRank :=0, @prevRank := NULL, @incRank := 1
) r
ORDER BY b_score DESC) s


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM