每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)(三)

2014-11-24 13:31:07 · 作者: · 浏览: 1
t
(
sum(qty) for Qtr in ([0], [1], [2], [3], [4])
) as pvt
上边代码示例中高亮部分即为使用pivot进行表的横竖转换的关键代码。
PIVOT用于行转列,在SQL Server 2000可以用聚合函数配合CASE语句实现,
PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
这跟我们上边示例中使用的高亮标注的部分的方法是一样的
总结:
通过这样一个简单的查询,引出了今天要讲的表的行列转换(case when 和 pivot两种方法),表数据的统计(with rollup 和with cube方法),这也就达到了总结的目的。重要的不是讲这些方法怎么怎么用,主要是讲求解决问题的一个思路,以及在解决问题后对性能及效率的优化,希望可以对大家有些帮助。