亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server 排名函數

2024-08-31 00:56:05
字體:
來源:轉載
供稿:網友

一、需求

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

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

  例如:

  

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

    

  測試數據: 

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,代碼如下:

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,直接上代碼:

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的使用方法,分享了自己的一些想法,希望對大家的學習有所啟發。

五、ntilentile函數可以對序號進行分組處理。這就相當于將查詢出來的記錄集放到指定長度的數組中,每一個數組元素存放一定數量的記錄。ntile函數為每條記 錄生成的序號就是這條記錄所有的數組元素的索引(從1開始)。也可以將每一個分配記錄的數組元素稱為“桶”。ntile函數有一個參數,用來指定桶數。下 面的SQL語句使用ntile函數對t_table表進行了裝桶處理: 

select ntile(4) over(order by field1) as bucket,* from t_table


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线电影av不卡网址| 亚洲成av人影院在线观看| 国产人妖伪娘一区91| 亚洲一区二区三区在线免费观看| 亚洲精品自产拍| 国产精品久久久久久久久久ktv| 久久久久久久久国产| 在线看日韩欧美| 久久久久久久久久婷婷| 色偷偷888欧美精品久久久| 精品国内自产拍在线观看| 国产精品 欧美在线| 久久影院资源站| 亚洲精品美女久久久| 成人性生交大片免费观看嘿嘿视频| 亚洲区bt下载| 俺去亚洲欧洲欧美日韩| 国产午夜一区二区| 日韩一区二区久久久| 欧美视频在线免费看| 欧美日韩国内自拍| 日韩视频永久免费观看| 国产精品久久久久aaaa九色| 日韩动漫免费观看电视剧高清| 欧美亚洲视频一区二区| 97人人模人人爽人人喊中文字| 亚洲精品福利在线观看| 2019中文字幕在线观看| 欧美精品一本久久男人的天堂| 亚洲欧洲偷拍精品| 国产97在线播放| 成人在线免费观看视视频| 91久久久久久久久久久久久| 97国产一区二区精品久久呦| 亚洲图片在线综合| 欧美乱大交xxxxx另类电影| 久久精品美女视频网站| 成人午夜在线视频一区| 美女少妇精品视频| 日韩精品免费在线观看| 91性高湖久久久久久久久_久久99| 国产丝袜一区二区| 中文字幕精品久久| 欧美日韩午夜视频在线观看| 欧美成人午夜剧场免费观看| 成人国内精品久久久久一区| 国产日韩精品一区二区| 国产日韩欧美自拍| 91美女福利视频高清| 91美女片黄在线观| 91久久精品国产91性色| 欧美疯狂xxxx大交乱88av| 久久精品福利视频| 色一情一乱一区二区| 亚洲乱码国产乱码精品精天堂| 国产精品爽黄69天堂a| 亚洲国产中文字幕久久网| 国内精品400部情侣激情| 国产精品老牛影院在线观看| 久久精品成人动漫| 亚洲精品久久久久中文字幕二区| 一区二区三区在线播放欧美| 国产女人精品视频| 欧美另类第一页| 欧美与黑人午夜性猛交久久久| 成人97在线观看视频| 亚洲激情视频在线观看| 一本一本久久a久久精品综合小说| 欧美日本国产在线| 亚洲自拍欧美色图| 久久精品国产精品| 午夜精品美女自拍福到在线| 中文字幕欧美精品日韩中文字幕| 日韩国产精品亚洲а∨天堂免| 欧美中文字幕在线| 夜色77av精品影院| 日韩久久精品电影| 国外日韩电影在线观看| 国产综合视频在线观看| 久久久久久久香蕉网| 久久久久久国产精品三级玉女聊斋| 日韩欧美aⅴ综合网站发布| 中文字幕亚洲情99在线| 成人免费网视频| 日本久久久久久| 91精品国产综合久久香蕉最新版| 自拍亚洲一区欧美另类| 超碰精品一区二区三区乱码| 亚洲成色www8888| 亚洲精品国精品久久99热一| 亚洲欧美自拍一区| 亚洲精品电影在线| 欧美一级片在线播放| 91麻豆国产语对白在线观看| 国产视频久久久久| 精品国内亚洲在观看18黄| 久久午夜a级毛片| 538国产精品一区二区免费视频| 亚洲自拍偷拍区| 欧美亚洲日本黄色| 亚洲第一福利视频| 日本欧美在线视频| 中文字幕精品视频| 亚洲图片在区色| 久热精品视频在线观看一区| 欧美日韩亚洲精品一区二区三区| 国产a∨精品一区二区三区不卡| 欧美性在线观看| 一区二区三区国产在线观看| 久久久久久久影院| 亚洲人a成www在线影院| 色妞久久福利网| 国产精品视频99| 国产精品1区2区在线观看| 中文字幕免费精品一区高清| 成人网在线免费看| 日韩精品中文字幕在线播放| 国产精品一区二区3区| 亚洲最大在线视频| 日韩精品在线播放| 91精品久久久久久久久久久久久| 精品网站999www| 成人av电影天堂| 456亚洲影院| 欧美日韩国产一区中文午夜| 国产精品xxxxx| 国产一区二区三区在线| 亚洲人成亚洲人成在线观看| 精品国产欧美成人夜夜嗨| 亚洲欧美在线第一页| 亚洲亚裔videos黑人hd| 亚洲精品自拍视频| 国产精品嫩草影院一区二区| 日韩一区二区欧美| 2018日韩中文字幕| 日韩av男人的天堂| www.xxxx欧美| 成人网页在线免费观看| 日韩av影片在线观看| 国产精品中文在线| 精品网站999www| 九九精品视频在线观看| 最近更新的2019中文字幕| 久久久亚洲精品视频| 亚洲第一福利网| 精品国产一区二区三区久久狼黑人| 亚洲夜晚福利在线观看| 久久久国产一区二区| 欧美一级淫片丝袜脚交| 欧美激情精品久久久久久黑人| 亲子乱一区二区三区电影| 欧美性猛交视频| 精品无人国产偷自产在线| 成人免费黄色网| 午夜精品久久久久久久99黑人| 国产成人精品日本亚洲专区61| 不卡毛片在线看| 亚洲精品小视频在线观看| 在线观看免费高清视频97| 精品久久久久久久久久久久| 成人动漫网站在线观看| 丝袜情趣国产精品| 午夜精品在线观看| 91精品视频在线免费观看|