【发布时间】:2015-01-25 02:38:56
【问题描述】:
我已经设法在 MS SQL 中创建了一个数据透视表,并且我想通过汇总的 GrpID 对年度列进行分组。我很明白有一个汇总条款应该遵守,但我无法理解。
SELECT *
FROM(
SELECT Descr, NameID, grpid,YE,total from appendicesgrouping
) as t
PIVOT (sum(total)
for ye in (
[2010],[2011],[2012],[2013],[2014]
)
) as PVT
WHERE grpid < 7
AND practiceiD = 2
ORDER BY nameid asc, grpid asc, descr asc
这给出了以下回报:
Descr|NameID|GrpID|2010|2011|2012|2013|2014|
Sale1|1 |1 |1000|1100|900 |1050|1125|
Sale2|1 |1 |500 |600 |650 |550 |525 |
Sale3|1 |1 |45 |50 |50 |45 |45 |
Cost1|1 |2 |10 |10 |10 |10 |10 |
Cost2|1 |2 |5 |5 |5 |5 |5 |
Cost10|1 |3 |10 |10 |10 |10 |10 |
Cost11|1 |3 |5 |5 |5 |5 |5 |
理想情况下,对于GrpID 的每次更改,我在每列中的“Sale3”下将是 1545|1750|1645|1695 等等。
【问题讨论】:
标签: sql-server group-by pivot rollup