關(guān)于對開窗函數(shù)的認(rèn)識

對開窗函數(shù)有了更深的認(rèn)識

開窗函數(shù)是用于為行定義一個窗口(這里的窗口是指運(yùn)算將要操作的行的集合),能夠?qū)λ枰闹颠M(jìn)行操作辨泳,不需要使用GROUP BY子句對數(shù)據(jù)進(jìn)行分組,能夠在同一行中同時返回基礎(chǔ)行的列和聚合列伴鳖。

例如:OVET()嘁酿,PARTITION BY(),ORDER BY()

開窗函數(shù)格式: 函數(shù)名(列) OVER(選項(xiàng))

OVER 關(guān)鍵字表示把函數(shù)當(dāng)成開窗函數(shù)而不是聚合函數(shù)牙肝。SQL 標(biāo)準(zhǔn)允許將所有聚合函數(shù)用做開窗函數(shù)唉俗,使用 OVER 關(guān)鍵字來區(qū)分這兩種用法嗤朴。

注:如果 OVER 關(guān)鍵字后的括號中的選項(xiàng)為空,則開窗函數(shù)會對結(jié)果集中的所有行進(jìn)行聚合運(yùn)算虫溜。

PARTITION BY 子句:

開窗函數(shù)的 OVER 關(guān)鍵字后括號中的可以使用 PARTITION BY 子句來定義行的分區(qū)來供進(jìn)行聚合計(jì)算雹姊。與 GROUP BY 子句不同,PARTITION BY 子句創(chuàng)建的分區(qū)是獨(dú)立于結(jié)果集的衡楞,創(chuàng)建的分區(qū)只是供進(jìn)行聚合計(jì)算的容为,而且不同的開窗函數(shù)所創(chuàng)建的分區(qū)也不互相影響

ORDER BY子句:

開窗函數(shù)中可以在OVER關(guān)鍵字后的選項(xiàng)中使用ORDER BY子句來指定排序規(guī)則,而且有的開窗函數(shù)還要求必須指定排序規(guī)則寺酪。使用ORDER BY子句可以對結(jié)果集按照指定的排序規(guī)則進(jìn)行排序,并且在一個指定的范圍內(nèi)進(jìn)行聚合運(yùn)算

在網(wǎng)上還找了些常用的開窗函數(shù)替劈,如下:

row_number() over(partition by ... order by ...)

rank() over(partition by ... order by ...)

dense_rank() over(partition by ... order by ...)

count() over(partition by ... order by ...)

max() over(partition by ... order by ...)

min() over(partition by ... order by ...)

sum() over(partition by ... order by ...)

avg() over(partition by ... order by ...)

first_value() over(partition by ... order by ...)

last_value() over(partition by ... order by ...)

lag() over(partition by ... order by ...)

lead() over(partition by ... order by ...)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寄雀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子陨献,更是在濱河造成了極大的恐慌盒犹,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眨业,死亡現(xiàn)場離奇詭異急膀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)龄捡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門卓嫂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聘殖,你說我怎么就攤上這事晨雳。” “怎么了奸腺?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵餐禁,是天一觀的道長。 經(jīng)常有香客問我突照,道長帮非,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任讹蘑,我火速辦了婚禮末盔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衔肢。我一直安慰自己庄岖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布角骤。 她就那樣靜靜地躺著隅忿,像睡著了一般心剥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上背桐,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天优烧,我揣著相機(jī)與錄音,去河邊找鬼链峭。 笑死畦娄,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弊仪。 我是一名探鬼主播熙卡,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼励饵!你這毒婦竟也來了驳癌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤役听,失蹤者是張志新(化名)和其女友劉穎颓鲜,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體典予,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甜滨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘤袖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衣摩。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖孽椰,靈堂內(nèi)的尸體忽然破棺而出昭娩,到底是詐尸還是另有隱情,我是刑警寧澤黍匾,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布栏渺,位于F島的核電站,受9級特大地震影響锐涯,放射性物質(zhì)發(fā)生泄漏磕诊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一纹腌、第九天 我趴在偏房一處隱蔽的房頂上張望霎终。 院中可真熱鬧,春花似錦升薯、人聲如沸莱褒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽广凸。三九已至阅茶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谅海,已是汗流浹背脸哀。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扭吁,地道東北人撞蜂。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像侥袜,于是被迫代替她去往敵國和親蝌诡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

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

  • 開窗函數(shù)也屬于分析函數(shù)枫吧,與聚合函數(shù)的不同之處是:對于每個組返回多行送漠,而聚合函數(shù)對于每個組只返回一行。 格式:函數(shù)名...
    曉之以理的喵閱讀 818評論 0 0
  • 一由蘑,開窗函數(shù): 開窗函數(shù):為將要被操作的行的集合定義一個窗口,它對一組值進(jìn)行操作代兵,不需要使用GROUP BY子句對...
    weiwei_js閱讀 13,629評論 1 9
  • 1. 介紹 普通聚合函數(shù)聚合的行集是組尼酿,開窗函數(shù)聚合的行集是窗口。因此植影,普通聚合函數(shù)每組(Group by)只有一...
    Yobhel閱讀 563評論 0 2
  • 1. 介紹 普通聚合函數(shù)聚合的行集是組裳擎,開窗函數(shù)聚合的行集是窗口。因此思币,普通聚合函數(shù)每組(Group by)只有一...
    幸運(yùn)豬x閱讀 8,161評論 0 4
  • 開窗函數(shù)定義 一組行被稱為一個窗口鹿响,開窗函數(shù)是指可以用于「分區(qū)」或「分組」計(jì)算的函數(shù)。這些函數(shù)結(jié)合 OVER 子句...
    fourn熊能閱讀 1,946評論 0 0