在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