1. 程式人生 > >over(partition by)開窗函數的使用

over(partition by)開窗函數的使用

net 目前 gpe 等等 處理 區別 多行 logs wan

開窗函數是分析函數中的一種,開窗函數與聚合函數的區別是:開窗函數是用於計算基於組的某種聚合值且每個的組的聚合計算結果可以有多行,而聚合函數每個組的聚合計算結果只有一個。使用開窗函數可以在沒有group by語句的情況下計算聚合值並將結果作為一個新字段輸出。開窗函數還可以和其他函數結合使用,如row_number()、rank()、dense_rank()、min()、max()、sum()、first_value() 、last_value()、avg()等等,聚合函數與開窗函數結合使用可以提供強大的數據處理能力。

目前來看開窗函數和分析函數在數據庫和Hive中均支持。具體可以參考下面這些文章:

OVER(PARTITION BY)函數介紹

Hive 開窗函數

Hive開窗函數總結

hive開窗函數,分析函數

over(partition by)開窗函數的使用