mysql—排序函數rank() over()、dense_rank() over()、row_num() over()


1.rank() over()

查出指定條件后進行排名。特點是,加入是對學生排名,使用這個函數,成績相同的兩名是並列,下一位同學空出所占的名次。

 rank() over(partition by subject order by score desc) rank 

 

 

2.dense_rank() over()

 與rank() over的區別是,兩名學生的成績並列以后,下一位同學並不空出所占的名次。

 dense_rank() over(partition by subject order by score desc) rank 

 

 

3.row_num() over()

 這個函數不需要考慮是否並列,哪怕根據條件查詢出來的數值相同也會進行連續排名。

 row_number() over(partition by subject order by score desc) rank 

 

 

 

 

參考:https://www.cnblogs.com/scwbky/p/9558203.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM