本章详细介绍了聚合和窗口函数.
聚合函数从一组输入值生成单个结果.下表详细描述了聚合函数列表.
S.No. | 功能&描述 |
---|---|
1 | AVG(exp) 平均数据源中所有记录的列. |
2 | CORR(expression1,expression2) 返回集合之间的相关系数数字对. |
3 | COUNT() 返回行数. |
4 | MAX(expression) 返回所选c的最大值olumn. |
5 | MIN(expression) 返回所选列的最小值. |
6 | SUM(expression) 返回给定列的总和. |
7 | LAST_VALUE(expression) 返回给定列的最后一个值. |
Window函数在一组行上执行,并从查询中返回每一行的单个值.术语窗口具有该函数的行集的含义.
查询中的Window函数使用OVER()子句定义窗口.
OVER()子句具有以下功能 :
定义窗口分区以形成行组.(PARTITION BY子句)
对行内的行进行排序partition.(ORDER BY子句)
下表详细描述了窗口函数.
功能 | 返回类型 | 描述 |
---|---|---|
rank() | int | 返回当前行的差距. |
row_num() | int | 返回其分区中的当前行,从1开始计算. |
lead(value [,offset integer [,default any]]) | 与输入类型相同 | 返回在分区中当前行之后的偏移行的行计算的值.如果没有这样的行,则默认值将被退回. |
lag(value [,offset integer [,default any]]) | 与输入类型相同 | 返回在分区内当前行之前的偏移行的行计算的值. |
first_value(value) | 与输入类型相同 | 返回输入行的第一个值. |
last_value(value) | 与输入类型相同 | 返回输入行的最后一个值. |