SQL server中字段为非数值型字段,如何实现横纵转换?可以使用 pivot 吗?
如下表A中的三个字段,如何将项目名称和结果变为横表排列。
透视转换是一种行转列的技术。
- CASE WHEN+Group BY+聚合函数
- PIVOT
逆透视转换:列转行
- UNPIVOT
使用CLR及C#或VB自定义函数
- GROUPING SETS从属子句
等同于多个Group By查询的结果集统一在一起,但性能更好,不常用。
- CUBE从属子句
例:
- WITH CUBE
不是标准SQL,不常用,用到再查其他资料吧。
- ROOLUP
不是标准SQL,不常用,用到再查其他资料吧。
- 分组集代数
不常用,用到再查其他资料吧。