理论
over():指定分析函数工作的数据窗口的大小,这个数据窗口大小会随着行的变而变化。over跟在聚合函数后面,只对聚合函数生效。
current row:当前行
n preceding:往前n行数据
n following:往后n行数据
unbounded:起点:unbounded preceding 表示从前面的起点开始, unbounded following表示到后面的终点结束
lag(col,n):往前第n行数据
lead(col,n):往后第n行数据
ntile(n):把有序分区中的行分发到指定数据的组中,各个组有编号,编号从1开始,对于每一行,ntile返回此行所属的组的编号
在Hive中,分组的关键字是GROUP BY。GROUP BY语句用于将数据按照指定的列进行分组。例如,可以使用以下语句按照性别对数据进行分组:
```
SELECT gender, COUNT(*) FROM user_data GROUP BY gender;
```
这将返回一个结果集,其中包含每个性别的数量。