上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.4.4 GROUPING函数
我们在使用GROUP BY子句的扩展选项时,查询会产生一些空值数据。这些空值意味着对应的记录是针对这个字段所有数据的汇总,我们可以利用GROUPING函数识别这些空值数据,例如:
查询返回的结果如下:
其中,GROUPING(sex)函数返回0,表示当前记录不是所有性别的汇总数据;返回1,表示当前记录是所有性别的汇总数据。因此,结果中的最后一条记录表示全体员工的数量。
我们可以进一步利用CASE表达式对查询结果进行转换显示:
查询返回的结果如下:
我们将最后一行中性别为空的数据显示为“所有性别”。
MySQL同样支持GROUPING函数,例如:
查询返回的结果和上面的示例相同。
SQLite中的GROUP BY子句不支持扩展选项,因此也就没有提供GROUPING函数。