transform 语句的应用详解:
1、功能:
用于创建交叉表查询,该查询对于记录 计算总计、平均值、计数或其他类型的查询,然后按照两类信息对结果进行分组,一组数据分布在数据表的左侧,另一组数据分布在数据表的顶端。通俗点说,就是使用 sql 实现透视表功能
2、语法:
TRANSFROM aggfunction
SELECT statement
PIVOT pivotfield [ in (vlaue1 [,value2 [, …]] ) ]
对参数的解析:
1、aggfunction: 对所选数据进行操作的 sql 聚合函数,常见的有 count、sum、avg 等函数
2、SELECT statement: 为需要进行的 select 语句
3、pivotfield : 用来在查询的结果集中创建列标题的字段或表达式
4、value 值: 用于创建列标题的固定值
3、transform 语句与透视表的对应关系:
1)aggfunction: 聚合函数的参数,相当于数据透视表数据区域的值字段,使用聚合函数即设置值字段的汇总方式
2)select statement: 相当于数据透视表的行字段,因为行字段都是不重复的值,所以要使用 group by 去重
3)pivotfield: 相当于数据透视表的列字段,后面的
in (vlaue1 [,value2 [, …]] ) 相当于列字段中项的排序及筛选
下图是对应关系的图解
实例:
实例1:统计 “测试表” 中,各班级的男女人数
TRANSFORM Sum(测试表.人数) AS 人数合计
SELECT 测试表.班级
FROM 测试表
GROUP BY 测试表.班级
PIVOT 测试表.性别