婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法

實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法

熱門標(biāo)簽:地圖標(biāo)注可以編輯地名嗎 真3地圖標(biāo)注 樂(lè)昌電話機(jī)器人 地圖標(biāo)注跑線下市場(chǎng) 臺(tái)灣外呼系統(tǒng)軟件 南京怎么申請(qǐng)400這種電話 濮陽(yáng)清豐400開(kāi)頭的電話申請(qǐng) 南通智能外呼系統(tǒng)怎么樣 疫情時(shí)期電話機(jī)器人

一、需求

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

  需求很簡(jiǎn)單:求成績(jī)排名前五的學(xué)生信息。

  例如:

  

  由于成績(jī)可以并列,所以前五名可能有多個(gè)。例如:

    

  測(cè)試數(shù)據(jù):  

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,'紀(jì)八',94 union all
select 9,'邱九',93 union all
select 10,'林十',92 

二、自己實(shí)現(xiàn)

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

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

  看起來(lái)和上面的要求的結(jié)果還是不太一樣,少了排序,當(dāng)然我們可以在程序處理,這不是問(wèn)題。

三、使用內(nèi)置排名函數(shù) DENSE_RANK

  其實(shí)sql server已經(jīng)內(nèi)置了這樣的函數(shù)可以幫助我們輕松實(shí)現(xiàn),ok,直接上代碼:

;with cte as(
  select dense_rank() over(order by Score desc) rank,* from @t
)
select * from cte where rank  6   

 四、擴(kuò)展,內(nèi)置排名函數(shù)RANK

  與 DENSE_RANK類似還有一個(gè)RANK函數(shù),不過(guò)RANK函數(shù)不會(huì)順序排名,而是根據(jù)序號(hào)排。有點(diǎn)繞,把上面的函數(shù)改為RANK()就知道了,得到的結(jié)果如下:

  

以上就是sql server排名函數(shù)DENSE_RANK的使用方法,分享了自己的一些想法,希望對(duì)大家的學(xué)習(xí)有所啟發(fā)。

您可能感興趣的文章:
  • SQL2005 四個(gè)排名函數(shù)(row_number、rank、dense_rank和ntile)的比較
  • SQL查詢排名函數(shù)實(shí)例
  • SqlServer 2005的排名函數(shù)使用小結(jié)
  • sql四大排名函數(shù)之ROW_NUMBER、RANK、DENSE_RANK、NTILE使用介紹

標(biāo)簽:南京 河北 廣安 陜西 福建 馬鞍山 通遼 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法》,本文關(guān)鍵詞  實(shí)例,講解,sql,server,排名,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 邓州市| 绩溪县| 左权县| 侯马市| 抚远县| 新蔡县| 前郭尔| 泾阳县| 民勤县| 文山县| 揭阳市| 宣城市| 荣昌县| 余江县| 文昌市| 陵水| 东阳市| 扶风县| 黑山县| 黑龙江省| 武强县| 瑞安市| 通辽市| 张北县| 祁连县| 改则县| 漳浦县| 海安县| 泸水县| 忻州市| 那坡县| 苏尼特左旗| 延寿县| 鄂托克旗| 延寿县| 偏关县| 江华| 黄陵县| 辰溪县| 宜黄县| 三河市|