開窗函數(shù)和row_number()

1瞻润、背景

窗口函數(shù)的引入是為了解決 想要既顯示聚集前的數(shù)據(jù),又要顯示聚集后的數(shù)據(jù)硼补。
開窗函數(shù)對一組值進(jìn)行操作利花,不需要使用GROUP BY子句對數(shù)據(jù)進(jìn)行分組微酬,能夠在同一行中同時返回基礎(chǔ)行的列和聚合列。

2橄务、常見用法

over() 按所有行進(jìn)行分組
over(partition by xxx) 按xxx分組的所有行進(jìn)行分組
over(partition by xxx order by aaa) 按xxx分組幔托,按列aaa排序 的按到當(dāng)前行(含當(dāng)前行)進(jìn)行分組
over前可以加聚合函數(shù) 例如sum count avg min max等
over前也可以加 first_value last_value等
windows 字句 用來制定累加的方式
rank() over等的用法

參考資料:https://blog.csdn.net/qq_26937525/article/details/54925827

1、LAG(col,n,DEFAULT) 用于統(tǒng)計窗口內(nèi)往上第n行值
2蜂挪、LEAD(col,n,DEFAULT) 用于統(tǒng)計窗口內(nèi)往下第n行值
3重挑、FIRST_VALUE(column)取分組內(nèi)排序后,截止到當(dāng)前行棠涮,第一個值
4谬哀、LAST_VALUE(column)取分組內(nèi)排序后,截止到當(dāng)前行严肪,最后一個值
5史煎、row_number() 分組排序功能,row_number()從1開始,為每一條分組記錄返回一個數(shù)字 (在row_number中排序的時候驳糯,可以通過NULLS LAST篇梭、NULLS FIRST來控制有NULL的輸出)

這里L(fēng)AG、LEAD統(tǒng)計窗口內(nèi)往上或者往下第N行值的情況 是基于自己當(dāng)前行去做的操作

參考資料:http://lxw1234.com/archives/2015/04/190.htm

3酝枢、row_number()用法

用法

ROW_NUMBER() OVER()函數(shù)用來為每條記錄返回一個行號很洋,可以用來對記錄進(jìn)行排序并返回該序號,序號從1開始排序
over()是聚集函數(shù)隧枫,可以給記錄進(jìn)行分組喉磁、排序谓苟;row_number()不能單獨(dú)使用,必須搭配over()才能使用

具體用例

1协怒、給數(shù)據(jù)添加序號

比如示例

hive> select * from test;
OK
河北  滄州  1001
北京  北京  1002
遼寧  沈陽  1003
吉林  長春  1004
河北  秦皇島 1005
遼寧  大連  1006
河北  廊坊  1007

如果需要隨便添加一個序號的話 可以使用 row_number() over()
如果需要排序分組的話 在over 中添加想要分組或者排序的字段

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涝焙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子孕暇,更是在濱河造成了極大的恐慌仑撞,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妖滔,死亡現(xiàn)場離奇詭異隧哮,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)座舍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門沮翔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人曲秉,你說我怎么就攤上這事采蚀。” “怎么了承二?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵榆鼠,是天一觀的道長。 經(jīng)常有香客問我亥鸠,道長妆够,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任负蚊,我火速辦了婚禮神妹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘盖桥。我一直安慰自己灾螃,他們只是感情好题翻,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布揩徊。 她就那樣靜靜地躺著,像睡著了一般嵌赠。 火紅的嫁衣襯著肌膚如雪塑荒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天姜挺,我揣著相機(jī)與錄音齿税,去河邊找鬼沛申。 笑死祠够,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趁桃,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓷翻!你這毒婦竟也來了赖歌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芜壁,失蹤者是張志新(化名)和其女友劉穎礁凡,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慧妄,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡顷牌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了塞淹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窟蓝。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖窖铡,靈堂內(nèi)的尸體忽然破棺而出疗锐,到底是詐尸還是另有隱情,我是刑警寧澤费彼,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布滑臊,位于F島的核電站,受9級特大地震影響箍铲,放射性物質(zhì)發(fā)生泄漏雇卷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一颠猴、第九天 我趴在偏房一處隱蔽的房頂上張望关划。 院中可真熱鬧,春花似錦翘瓮、人聲如沸贮折。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽调榄。三九已至,卻和暖如春呵扛,著一層夾襖步出監(jiān)牢的瞬間每庆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工今穿, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留缤灵,地道東北人。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像腮出,于是被迫代替她去往敵國和親帖鸦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

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