润乾 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 表按籍贯城市分组,每组找年龄最大的雇员记录
查询时,引擎按照字段词“籍贯城市”分组,每组找字段词“年龄”最大的记录。
