sql 中 rank() over,dense_rank(),row_number() 的區別


rank() over是的作用是查出指定條件后進行一個排名,但是有一個特點。假如是對學生排名,那么實用這個函數,成績相同的兩名是並列,例如下圖1 2 2 4。

 

 

dense_rank()的作用和rank()很像,唯一的一點區別就是,領命學生的成績並列以后,下一位同學並不空出並列所占的名次,例如下圖1 2 2 3。

 

 

 

row_number()就不一樣了,它和上面兩種的區別就很明顯了,這個函數不需要考慮是否並列,哪怕根據條件查詢出來的數值相同也會進行連續排名,如下圖

 

 

https://jingyan.baidu.com/article/597035521ff2ec8fc107404b.html 


免責聲明!

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



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