润乾 NLQ 课程 - 5 聚合查询

5. 聚合查询

5.1. 不分组的聚合

查询:订单金额总计

意图:ORDERS 表所有金额求和

定义聚合词“总计”,词的位置设置为位置在右边,意思是聚合词“总计”在字段词“订单金额”右边,聚合函数名称 sum:

..

聚合词可以有多个,比如:“汇总, 总计, 小计, 总数, 总量, 人数, 总人数, 求和”。

查询:统计 2025 年订单金额

意图:ORDERS 表中签单日期是 2025 年的金额求和

定义聚合词“统计”,这个词的左右都没有字段词,所以去掉勾选“必须与字段词匹配”:

..

查询时,订单金额自动加上 sum。

5.2. 按字段词分组的聚合

查询:按发货日期求订单数

意图:ORDERS 表按照发货日期分组求订单数

定义聚合词“数”,词的位置设置为位置在右边,意思是聚合词在字段词右边。聚合函数名称 count,注意:这个函数是去重计数。

..

如果聚合词的左边有过滤条件,表示先过滤再聚合。比如:2025 年按发货日期求订单数。

5.3. 对聚合的结果过滤

查询:订单数超过 20 的客户编号

意图:ORDERS 表先按照客户编号分组计数,结果再过滤出计数大于 20 的

聚合词“数”的右侧有比较条件,就按照聚合结果过滤。

注意:客户编号是字段词,并不是维词“客户”

5.4. 聚合的结果是记录或记录集合

查询:年龄最大的 2 个雇员

意图:EMPLOYEE 表年龄最大的 2 个雇员记录

聚合词“最大”的聚合函数是“max”,也支持返回记录。

这种聚合并不是计算出一个最大值,而是返回记录(或记录的集合),也称为选出式聚合。

查询:年龄最大者

意图:EMPLOYEE 表年龄最大的雇员记录,或者是 ORDERS 表年龄最大的记录

聚合词“最大者”没有指定实体或者字段簇,此时引擎会找包含字段词“年龄”字段簇“雇员”或“订单”,给出两个结果请用户选择,都包括字段簇的所有标记字段。

..

5.5. 按字段词分组后的选出式聚合

查询:各个籍贯城市 年龄最大雇员 姓名

意图:EMPLOYEE 表按籍贯城市分组,每组找年龄最大的雇员记录

查询时,引擎按照字段词“籍贯城市”分组,每组找字段词“年龄”最大的记录。