上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.4.2 交叉统计报表
GROUP BY子句的CUBE选项可以对分组字段进行各种组合,产生类似于Excel数据透视表的多维度交叉报表,例如:
其中,CUBE表示首先按照不同部门和性别的组合统计员工数量,然后按照不同的部门统计员工数量,之后按照不同的性别统计员工数量,最后统计全体员工的数量。Oracle、Microsoft SQL Server以及PostgreSQL实现了以上语法。查询返回的结果如下:
查询结果中性别为空的记录表示按照不同部门统计的员工数量,部门编号为空的记录表示按照不同性别统计的员工数量,部门编号和性别都为空的记录表示全体员工的数量。
提示:GROUP BY子句的CUBE选项产生的分组情况随着分组字段的增加呈指数级(2n)增长,ROLLUP选项产生的分组情况随着分组字段的增加呈线性(n+1)增长。
MySQL和SQLite目前不支持CUBE选项。