我有一些数据透视查询(SQL Server)的问题。 的任务很简单:一个人我一定要收集它的收入统计每个月的一年,但每一个新的一个月收入是基于previuos income
加上current month income
复杂聚合的Sql数据透视查询
只是为了举例。让人不得不每月3K的工资(为了简化它是一个常数),那么查询结果应该是这样的:
Year | Jan | Feb | ... | Dec
2016 | 3k | 6k | ... | 36k
2015 | 3k | 6k | ... | 36k
...
伪SQL查询是:
select * from (
select
year(date) as year,
month(date) as month
salary,
from income
where personId = 'some id'
) as tmp
pivot (
sum(salary),
for month in ([1], [1..2], [1..3], ...)
) as pvt
的问题是有SQL中没有[1..2]表达式。 使用标准SQL执行此类查询的方式是什么?
只是一些我的头顶部提示:内部查询使用合适的窗口(?行之间无界前和电流)和划分,并用标签为您的期间1to2,1to3,1to4等然后在您的标签上旋转。如果我晚点晚些时候,我会看看一个完整的解决方案。 –