Hivesql的开窗函数都有哪些
时间: 2023-11-11 18:05:04 浏览: 80
HiveSQL支持以下开窗函数:
1. ROW_NUMBER(): 为每一行分配一个唯一的数字,不带参数。
2. RANK(): 为每一行分配一个排名,如果有相同的值,则排名相同,不带参数。
3. DENSE_RANK(): 为每一行分配一个排名,如果有相同的值,则排名相同,但是跳过下一个排名,不带参数。
4. NTILE(n): 将结果集分成n个桶,并为每个桶分配一个编号。
5. LAG(column,offset,default): 获取当前行之前的第 n 行的值。
6. LEAD(column,offset,default): 获取当前行之后的第 n 行的值。
7. FIRST_VALUE(column): 获取分组内第一个值。
8. LAST_VALUE(column): 获取分组内最后一个值。
9. SUM(column) OVER (PARTITION BY partition_column ORDER BY sort_column ASC/DESC): 对分组后的数据进行求和。
10. AVG(column) OVER (PARTITION BY partition_column ORDER BY sort_column ASC/DESC): 对分组后的数据进行求平均值。
11. MAX(column) OVER (PARTITION BY partition_column ORDER BY sort_column ASC/DESC): 对分组后的数据进行求最大值。
12. MIN(column) OVER (PARTITION BY partition_column ORDER BY sort_column ASC/DESC): 对分组后的数据进行求最小值。
注意:以上函数中,PARTITION BY和ORDER BY子句是必须的。PARTITION BY用于指定分组列,ORDER BY用于指定排序列。
阅读全文