SQL Server汇总数据之计算总计数据(二)

2014-11-24 12:11:09 · 作者: · 浏览: 2
lse 0 end) as South,
sum(Case Region when 'North' then Amount else 0 end) as North,
sum(Case Region when 'East' then Amount else 0 end) as East,
sum(Case Region when 'West' then Amount else 0 end) as West,
  Sum(Amount) as Total
  from RawData R
  group by Category
order by Category
这个查询没有使用任何Where子句来筛选RawData表中的数据,Group by 子句根据类
别对数据集进行划分。然后执行聚合函数为每个类别创建一个结果行。
注:该查询使用了一个技巧,在Sum()中使用了一个Case表达式,这样每列只考虑
一个地区的值。
3、使用透视
这种方法它在From子句执行聚合函数。并创建一个交叉表,将其作为数据源,
如将Pivot看作一个用作数据源的表值函数,则它接受两个参数。
第一个参数是用于对交叉表的值进行计算的聚合函数,第一个参数列出了被透视
的列。
基本语法:
(数据源)
PIVOT
(聚合函数)
条件
五、动态交叉表查询
使用PIVOT和游标实现。