- Apache Tajo 教程
- Apache Tajo - 首页
- Apache Tajo - 简介
- Apache Tajo - 架构
- Apache Tajo - 安装
- Apache Tajo - 配置设置
- Apache Tajo - Shell 命令
- Apache Tajo - 数据类型
- Apache Tajo - 运算符
- Apache Tajo - SQL 函数
- Apache Tajo - 数学函数
- Apache Tajo - 字符串函数
- Apache Tajo - 日期时间函数
- Apache Tajo - JSON 函数
- Apache Tajo - 数据库创建
- Apache Tajo - 表管理
- Apache Tajo - SQL 语句
- 聚合与窗口函数
- Apache Tajo - SQL 查询
- Apache Tajo - 存储插件
- 与 HBase 集成
- Apache Tajo - 与 Hive 集成
- OpenStack Swift 集成
- Apache Tajo - JDBC 接口
- Apache Tajo - 自定义函数
- Apache Tajo 有用资源
- Apache Tajo - 快速指南
- Apache Tajo - 有用资源
- Apache Tajo - 讨论
聚合与窗口函数
本章详细解释了聚合函数和窗口函数。
聚合函数
聚合函数从一组输入值生成单个结果。下表详细描述了聚合函数列表。
序号 | 函数及描述 |
---|---|
1 | AVG(exp)
计算数据源中所有记录的列的平均值。 |
2 | CORR(expression1, expression2)
返回一组数字对之间的相关系数。 |
3 | COUNT()
返回行数。 |
4 | MAX(expression)
返回所选列的最大值。 |
5 | MIN(expression)
返回所选列的最小值。 |
6 | SUM(expression)
返回给定列的总和。 |
7 | LAST_VALUE(expression)
返回给定列的最后一个值。 |
窗口函数
窗口函数在一组行上执行,并为查询中的每一行返回单个值。窗口指的是函数作用的行集。
查询中的窗口函数使用 OVER() 子句定义窗口。
OVER() 子句具有以下功能:
- 定义窗口分区以形成行组。(PARTITION BY 子句)
- 对分区内的行进行排序。(ORDER BY 子句)
下表详细描述了窗口函数。
函数 | 返回类型 | 描述 |
---|---|---|
rank() | int | 返回当前行的排名,带间隙。 |
row_num() | int | 返回其分区内当前行的序号,从 1 开始计数。 |
lead(value[, offset integer[, default any]]) | 与输入类型相同 | 返回在分区内当前行之后 offset 行处计算的值。如果没有这样的行,则返回默认值。 |
lag(value[, offset integer[, default any]]) | 与输入类型相同 | 返回在分区内当前行之前 offset 行处计算的值。 |
first_value(value) | 与输入类型相同 | 返回输入行的第一个值。 |
last_value(value) | 与输入类型相同 | 返回输入行的最后一个值。 |
广告