Sql rank類的用法
Sql rank類的用法
為了方便講解假設(shè)我們有一個(gè)成績(jī)表內(nèi)容如下
?

?
?
1.rank() over的用法
作用:查出指定條件后的進(jìn)行排名,條件相同排名相同,排名間斷不連續(xù)。
例如:成績(jī)排名,使用這個(gè)函數(shù),成績(jī)相同的兩名是并列,下一位同學(xué)空出所占的名次如圖
?
?
?
2.dense_rank() over
作用:查出指定條件后的進(jìn)行排名,條件相同排名相同,排名間斷不連續(xù)。?說明:和rank() over 的作用相同,區(qū)別在于dense_rank() over 排名是密集連續(xù)的。例如學(xué)生排名,使用這個(gè)函數(shù),成績(jī)相同的兩名是并列,下一位同學(xué)接著下一個(gè)名次。如圖
?

?
?
?
3.row_number() over
作用:查出指定條件后的進(jìn)行排名,條件相同排名也不相同,排名間斷不連續(xù)。?說明:這個(gè)函數(shù)不需要考慮是否并列,即使根據(jù)條件查詢出來的數(shù)值相同也會(huì)進(jìn)行連續(xù)排序。 如圖
?

?
?
轉(zhuǎn):https://www.dianjilingqu.com/432778.html
標(biāo)簽: