SQL在明年到明年添加SUM

时间:2017-06-28 13:03:03

标签: sql-server

我有一张col1,col2,年份表。我想创建一个类似的查询:

SELECT
SUM(col1-col2)
FROM table1
WHERE year = '2015'

并将查询结果设置为新列' col3'对于年份= 2016年,接下来将是(2017年):

SELECT
SUM(col1-col2)
FROM table1
WHERE year = '2015' AND year = '2016'

,年份最多时停止

3 个答案:

答案 0 :(得分:0)

这是一个简单的group by案例。

select year, sum(col1-col2) as col3
from table1
group by year

如果您希望将此限制为特定年份,则可以使用where子句,但您希望or而不是and(一行不能包含年份= 2015年和年= 2016)

select year, sum(col1-col2) as col3
from table1
where year='2015' or year = '2016'
group by year

答案 1 :(得分:0)

完全披露我会用GROUP条款来做,这是我的思维方式的工作方式...... 但是如果他们在面试中问你,你可以在没有GROUP CLAUSE的情况下这样做吗?

以及大部分时间都是datetime列你应该有YEAR函数

select distinct YEAR(datecolumn) as 'year', sum(col1-col2) OVER() as col3
from table1

select distinct YEAR(datecolumn) as 'year', sum(col1-col2) OVER() as col3
from table1
where YEAR(datecolumn) in ('2015', '2016')

答案 2 :(得分:-2)

动态?  我想把我的结果设置为明年等等