Agile Query 聚合函数不同于SQL 中的聚合函数,SQL 中的聚合函数只能应用在单表或构建的单个动态数据集中,而Agile Query 中的聚合函数则可以应用在多表, 且可以叠加过滤或排序等查询特性(算术运算时,也可以将不同维度或不同表中的数据聚合后进行运算),最终由Agile Query 编译器编译为不同数据库中的SQL, 编译过程中会最大程度的降低原生查询的数量(即读取原始数据库表中的查询,也是产生大量I/O 操作的动作,对查询性能的影响较大)。
Agile Query 中的聚合函数分为四大类:
- 简单聚合函数,类似SQL 的聚合函数,用于基础的聚合统计,例如: SUM、AVG 等。
- 过滤聚合函数,基于的简单过滤规则或聚合后的规则进行计算,进行例如:COUNT_IF、SUM_IF 等。
- 分组聚合函数:用于实现不同维度的数据进行运算,例如:GROUP_AVG、GROUP_COUNT 等。
- 领域函数:基于抽象数据分析模式,实现领域内的通用统计方法,例如:GROWTH_OF、SEGMENT 等。