一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - 實例講解sql server排名函數DENSE_RANK的用法

實例講解sql server排名函數DENSE_RANK的用法

2020-05-03 15:46我是攻城獅 Sql Server

這篇文章主要以一個實例講解了sql server排名函數DENSE_RANK的用法,感興趣的小伙伴們可以參考一下

一、需求

  之前sql server排名函數用得最多的應該是RoW_NUMBER()了,我通常用ROW_NUMBER() + CTE 來實現分頁;今天逛園,看到另一個內置排名函數還不錯,自己順便想了一個需求,大家可以花1分鐘先想想要怎么實現。

  需求很簡單:求成績排名前五的學生信息。

  例如:

實例講解sql server排名函數DENSE_RANK的用法

  由于成績可以并列,所以前五名可能有多個。例如:

實例講解sql server排名函數DENSE_RANK的用法

  測試數據:  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
declare @t table
(ID int,
 StudentName nvarchar(15),
 Score int)
 
insert into @t
select 1,'黃一',99 union all
select 2,'吳二',99 union all
select 3,'張三',99 union all
select 4,'李四',98 union all
select 5,'王五',97 union all
select 6,'趙六',96 union all
select 7,'田七',95 union all
select 8,'紀八',94 union all
select 9,'邱九',93 union all
select 10,'林十',92 

二、自己實現

  我的想法:既然可能出現并列,那么就用 DISTINCT 找到前五的成績。ok,代碼如下:

?
1
2
3
select t1.* from @t t1
join(select distinct top 5 Score from @t order by Score desc) t2
on t1.Score = t2.Score    

  看起來和上面的要求的結果還是不太一樣,少了排序,當然我們可以在程序處理,這不是問題。

三、使用內置排名函數 DENSE_RANK

  其實sql server已經內置了這樣的函數可以幫助我們輕松實現,ok,直接上代碼:

?
1
2
3
4
;with cte as(
  select dense_rank() over(order by Score desc) rank,* from @t
)
select * from cte where rank < 6   

 四、擴展,內置排名函數RANK

  與 DENSE_RANK類似還有一個RANK函數,不過RANK函數不會順序排名,而是根據序號排。有點繞,把上面的函數改為RANK()就知道了,得到的結果如下:

實例講解sql server排名函數DENSE_RANK的用法

以上就是sql server排名函數DENSE_RANK的使用方法,分享了自己的一些想法,希望對大家的學習有所啟發。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一级视频久久 | 国产成人夜色影视视频 | 亚洲 色 欧美 爱 视频 日韩 | 国产亚洲欧美日韩俺去了 | 日本一区二区三区久久精品 | 四虎影视永久在线精品免费 | 男生和女生艹逼 | 故意短裙公车被强好爽在线播放 | 啊啊啊好大好爽视频 | 国产aaaaa一级毛片 | 寡妇一级毛片 | 国产欧美精品专区一区二区 | 思敏1一5集国语版免费观看 | 亚洲色图综合网 | 国产精品成人麻豆专区 | 四虎影院com | free性泰国女人hd | 日本视频在线观看播放 | 91庥豆果冻天美精东蜜桃传媒 | 国产欧美综合精品一区二区 | 日韩国产欧美精品综合二区 | 午夜私人影院在线观看 视频 | 美女沟厕撒尿全过程高清图片 | 日本国产高清色www视频在线 | 欧美成人tv在线观看免费 | 国产剧情一区 | 2021国产精品成人免费视频 | 成人亚洲欧美日韩中文字幕 | 果冻传媒天美传媒乌鸦传媒 | 国产3p绿奴在线视频 | 99视频网址 | 出差被灌醉绝伦的上司日本 | 精品国产91高清在线观看 | 日本一区二区免费在线 | 国产精品视频一区二区三区经 | 小早川怜子息梦精在线播放 | 亚洲高清在线视频 | 国产成人亚洲精品91专区手机 | 色呦阁 | 欧美日韩视频在线一区二区 | 日本无吗免费一二区 |