1、什麼是開窗函數?
開窗就是在查詢的結果上多出一個列,特徵就是帶有over(),分爲聚合開窗和排序開窗
2、常用的開窗函數
a、排序開窗
row_number() over(...) --從1開始生成序列
舉例:select *,ROW_NUMBER() OVER (partition by id order by extract_time desc
同類型的有:rank() over(...)
dense_rank() over(..)
b、聚合開窗
sum(..) over(....)
舉例:select v1,v2,sum(v2) over(partition by v1 order by v2) as sum
詳情:https://blog.csdn.net/wawmg/article/details/40840093
--按照v1進行分組,同組內v2降序排序並累加
同類型的有:avg(...) over(....)