mysql排名

mysql排名問題
使用mysql內置函數
row_number() over (order by val) as 'row_number':1,2,3,4,5,6
rank() over (order by val) as 'rank':1,2,3,3,5,6
dense_rank() over (order by val) as 'dense_rank':1,2,3,3,4,5

1.row_number() over (order by val) as 'row_number':1,2,3,4,5,6···
例如:
創建這樣一個表chengji:
成績表
現在按照score從高到低不重複排名

select *,row_number over (order by score desc) as 'row_number'
from chengji;

在這裏插入圖片描述
2.rank() over (order by val) as 'rank':1,2,3,3,5,6···
例如創建一個表chengji
在這裏插入圖片描述

select *,rank() over (order by score desc) as 'rank'
from chengji;

在這裏插入圖片描述
3.dense_rank() over (order by val) as 'dense_rank':1,2,3,3,4,5,6···
例如創建一個表chengji
在這裏插入圖片描述

select *,dense_rank() over (order by score desc) as 'dense_rank'
from chengji;

在這裏插入圖片描述

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