SQL中分區(qū)函數(shù)Partition By的與row_number()以及與排序rank()的用法詳解

partition by關(guān)鍵字是分析性函數(shù)的一部分歧蕉,它和聚合函數(shù)不同的地方在于它能返回一個分組中的多條記錄,而聚合函數(shù)一般只有一條反映統(tǒng)計值的記錄珊佣,partition by用于給結(jié)果集分組蹋宦,如果沒有指定那么它把整個結(jié)果集作為一個分組,分區(qū)函數(shù)一般與排名函數(shù)一起使用咒锻。

準(zhǔn)備測試數(shù)據(jù):

create table Student --學(xué)生成績表

(

id int,? --主鍵

Grade int, --班級

Score int --分?jǐn)?shù)

)

go

insert into Student values(1,1,88)

insert into Student values(2,1,66)

insert into Student values(3,1,75)

insert into Student values(4,2,30)

insert into Student values(5,2,70)

insert into Student values(6,2,80)

insert into Student values(7,2,60)

insert into Student values(8,3,90)

insert into Student values(9,3,70)

insert into Student values(10,3,80)

insert into Student values(11,3,80)

一冷冗、分區(qū)函數(shù)Partition By的與row_number()的用法

1、不分班按學(xué)生成績排名

select*,row_number()over(orderbyScoredesc)asSequencefromStudent

執(zhí)行結(jié)果:

2惑艇、分班后按學(xué)生成績排名

select*,row_number()over(partitionbyGradeorderbyScoredesc)asSequencefromStudent

執(zhí)行結(jié)果:

3蒿辙、獲取每個班的前1(幾)名

select*from(select*,row_number()over(partitionbyGradeorderbyScoredesc)asSequencefrom Student

)T whereT.Sequence<=1

執(zhí)行結(jié)果:


二拇泛、分區(qū)函數(shù)Partition By與排序rank()的用法

1、分班后按學(xué)生成績排名 該語句是對分?jǐn)?shù)相同的記錄進(jìn)行了同一排名思灌,例如:兩個80分的并列第2名俺叭,第4名就沒有了

select*,rank()over(partitionbyGradeorderbyScoredesc)asSequencefromStudent

執(zhí)行結(jié)果:

2、獲取每個班的前2(幾)名 該語句是對分?jǐn)?shù)相同的記錄進(jìn)行了同一排名泰偿,例如:兩個80分的并列第2名熄守,第4名就沒有了

select*from(select*,rank()over(partitionbyGradeorderbyScoredesc)asSequencefrom Student

)T whereT.Sequence<=2

執(zhí)行結(jié)果:


分類:?SQL Server

原文來自:https://www.cnblogs.com/linJie1930906722/p/6036053.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市甜奄,隨后出現(xiàn)的幾起案子柠横,更是在濱河造成了極大的恐慌,老刑警劉巖课兄,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牍氛,死亡現(xiàn)場離奇詭異,居然都是意外死亡烟阐,警方通過查閱死者的電腦和手機(jī)搬俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜒茄,“玉大人唉擂,你說我怎么就攤上這事√锤穑” “怎么了玩祟?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屿聋。 經(jīng)常有香客問我空扎,道長,這世上最難降的妖魔是什么润讥? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任转锈,我火速辦了婚禮,結(jié)果婚禮上楚殿,老公的妹妹穿的比我還像新娘撮慨。我一直安慰自己,他們只是感情好脆粥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布砌溺。 她就那樣靜靜地躺著,像睡著了一般变隔。 火紅的嫁衣襯著肌膚如雪抚吠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天弟胀,我揣著相機(jī)與錄音,去河邊找鬼。 笑死孵户,一個胖子當(dāng)著我的面吹牛萧朝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播夏哭,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼检柬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了竖配?” 一聲冷哼從身側(cè)響起何址,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎进胯,沒想到半個月后用爪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胁镐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年偎血,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盯漂。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡颇玷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出就缆,到底是詐尸還是另有隱情帖渠,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布竭宰,位于F島的核電站空郊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏羞延。R本人自食惡果不足惜渣淳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伴箩。 院中可真熱鬧入愧,春花似錦、人聲如沸嗤谚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巩步。三九已至旁赊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間椅野,已是汗流浹背终畅。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工籍胯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人离福。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓杖狼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妖爷。 傳聞我的和親對象是個殘疾皇子蝶涩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容