【发布时间】:2015-11-23 04:54:28
【问题描述】:
我从 SQL 查询中获得了这个结果集。这个结果是通过对租户每年的销售额进行分组以获得每年的总销售额得出的。表名为 TENANTSALES,列:租户、日期、销售额等。
TENANT YEAR SALES
tenant 1 2014 2000
tenant 1 2015 5000
tenant 2 2013 1000
tenant 2 2014 1500
tenant 2 2015 800
我用这个SQL查询代码实现了上面的结果
select tenant, year(date), SUM(sales)
from tenantSales
group by tenant, YEAR(date)
我需要完成该任务是添加一个列名称 Yearly growth,它将比较和计算每个租户的销售额逐年增长。这是示例正确/所需的输出
TENANT YEAR SALES YEARLY GROWTH
tenant 1 2014 2000
tenant 1 2015 5000 150%
tenant 2 2013 1000
tenant 2 2014 1500 50%
tenant 2 2015 800 -46.67%
公式为:((最近一年 - 上一年) / 上一年) * 100
租户 1 的示例:
((2015 年销售额 - 2014 年销售额) / 2014 年销售额) * 100 = 150%
我试过这样做,在上一年的行中添加下一年,以便我可以轻松计算两年的销售额,但我无法将最近一年的销售额相加,只能加起来一年本身.有什么办法或正确的方法吗?
select tenantcode, year(date), SUM(gsc), year(date) + 1
from dailymod
where tenantcode = 'cmbina13'
group by tenantcode, YEAR(date)
我们将非常感谢您的专家建议。谢谢
【问题讨论】:
标签: sql-server sql-server-2008 stored-procedures