sql - 显示上一年的总和

标签 sql sql-server sql-server-2008 datetime sqldatetime

我有如下选择语句:

  select [Fiscal Year], sum([value]), 
         YEAR(DATEADD(year,-1,[Fiscal Year])) as previous_year
  from [table1] 
  group by [Fiscal Year]

如何在上一年的列 previous_yearsum([value]) 之后添加?

enter image description here

最佳答案

请尝试以下 SQL 2008 查询

select t1.[Fiscal Year],t1.Value,(t1.[Fiscal Year]-1) [previous_year],t2.Value [previous_value]
from  
(  select [Fiscal Year], sum([value]) value
  from [table1] 
  group by [Fiscal Year] 
)t1
LEFT JOIN
(  
select [Fiscal Year], sum([value]) value
  from [table1] 
  group by [Fiscal Year] 
)t2
ON t1.[Fiscal Year]=t2.[Fiscal Year]+1

<强> SQL demo link

关于sql - 显示上一年的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36487009/

相关文章:

sql - 在 DateTime 上加入有时会在 Access 和 SQL Server 之间失败

c# - 存储 html css javascript 的最佳数据类型

sql - 值连续 n 分钟超过阈值

sql - 使用 SQL 获取和删除查询字符串

MySQL:如何在 WHERE 子句中使用 MAX 函数?

sql - "Merging"T-SQL 中的两个表 - 替换或保留重复的 ID

sql - Oracle 数据库 : how to select all but return certain columns first?

sql - 将 varchar 更改为 nvarchar 后网站性能下降

SQL 选择在日期范围内年龄为 17 岁的用户

sql - 获得全部时间