sql 按照值拍排序進行加序號問題:RANK()、DENSE_RANK()以及ROW_NUMBER()

數據庫查詢,很對數據進行分組,排序加序號

RANK()、DENSE_RANK()以及ROW_NUMBER()這三個函數都是對分過組的數據排序加序號,這三個函數又各自有區別 

ROW_NUMBER()是無論值是否相同都排序;是沒有重複值的排序(即使兩條記錄相同,序號也不重複的,不會有同序號。

 DENSE_RANK()是遇到相同的值就以相同的序號,當再次遇到不同的值序號排名繼續加

 是連續的排序,兩個第1名仍然跟着第2名 

 

 RANK() 是跳躍排序,兩個第1名下來就是第3名

最後借用一張圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章