小编Sve*_*enB的帖子

T-SQL平均计算

我想在select语句中为一堆值列合并两个平均计算.

请参阅此链接以获取我的简化表结构,包括所需的输出计算:Pastebin

1)移动平均线:

Month1 =该月份value1-column的值,Month2 =如果sum == 0则写入0,否则为avg(Month1和Month2),依此类推.

因此,对于每种产品,我都希望在一年内每个月的移动平均值.我在Excel中设置了这个,但我无法将表达式传递给sql.

2)总体平均值:

对于每个产品,计算所有年份的平均值,并将计算值复制到该产品的所有行.

我希望你能帮我解决这个问题.看起来我需要一个程序,但也许它只是一个简单的陈述.

sql t-sql average moving-average sql-server-2012

4
推荐指数
1
解决办法
5366
查看次数

TSQL - Unpivot多列

如何在"one"中取消多列的拆分?

现在我对每列都有一个univot,但这会产生很多空行.

请看截图. 在此输入图像描述

在顶部,您可以看到输入数据.目前我正在中间的桌子上用这段代码:

SELECT [ID], [RowNumber],  [Year], [Sales]  FROM (
        SELECT ID, RowNumber, [Sales 2013] as [2013], [Sales 2014] as [2014]
        FROM mytable) p     UNPIVOT (
        [Sales] FOR [Year] IN ([2013], [2014])  )AS unpvt ;
Run Code Online (Sandbox Code Playgroud)

但我认为,由于实际数据包含更多列以及更多年的处理时间,因此最好进入底层表结构.

这是一个小提琴样本数据.

希望你能告诉我一个到达那里的方法.谢谢.

t-sql sql-server pivot unpivot crosstab

4
推荐指数
1
解决办法
9236
查看次数