日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
sqlserver排名函數(shù)DENSE_RANK的用法是什么-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)sql server排名函數(shù)DENSE_RANK的用法是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

在秦皇島等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都營(yíng)銷(xiāo)網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,秦皇島網(wǎng)站建設(shè)費(fèi)用合理。

一、需求

之前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 @tselect 1,'黃一',99 union allselect 2,'吳二',99 union allselect 3,'張三',99 union allselect 4,'李四',98 union allselect 5,'王五',97 union allselect 6,'趙六',96 union allselect 7,'田七',95 union allselect 8,'紀(jì)八',94 union allselect 9,'邱九',93 union allselect 10,'林十',92 

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

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

select t1.* from @t t1join(select distinct top 5 Score from @t order by Score desc) t2on 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類(lèi)似還有一個(gè)RANK函數(shù),不過(guò)RANK函數(shù)不會(huì)順序排名,而是根據(jù)序號(hào)排。有點(diǎn)繞,把上面的函數(shù)改為RANK()就知道了。

關(guān)于sql server排名函數(shù)DENSE_RANK的用法是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)頁(yè)題目:sqlserver排名函數(shù)DENSE_RANK的用法是什么-創(chuàng)新互聯(lián)
文章出自:http://www.dlmjj.cn/article/jcpjj.html