SQL需要:每月

问题描述:

求和值我有价值观像这样的表:SQL需要:每月

count1 count2 count3 month 
12  1  4  01/12/2011 
6   5  4  23/12/2011 
14  6  9  11/06/2011 
8   5  4  19/06/2011 

我如何得到下面的结果?

count1 count2 count3 month 
18  6  8  12 
22  11  13  06 
+0

什么discrimin ator在这里?第二组结果与第二组结果有什么不同,是月份列或其他内容? – 2011-04-21 08:00:44

+0

请给出您的结果表的例子,关于第一个表。所以,任何人都可以轻松理解你想要的。 – 2011-04-21 08:01:57

SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month) 
    FROM myTable 
GROUP BY MONTH(month) 

由于MONTH是SQL Server的关键字,你可能逃跑的列名month(例如[month]),如果日期列真的叫这样的。 (!感谢恩迪为评论)

此外,如果选择数据的时间跨度超过一年,你可能需要按年度和:

SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month), YEAR(month) 
    FROM myTable 
GROUP BY MONTH(month), YEAR(month) 
+3

您可能想将该列名转换为[月] – 2011-04-21 08:03:17

+0

@AndriyM:感谢您的编辑! – Heinzi 2012-10-16 14:15:34

SELECT SUM(count1), SUM(count2), SUM(count3), MONTH(month) 
FROM Table 
GROUP BY trunc(month,'mm') 

这将在PL运行/ SQL开发人员:)

+1

但它不会在SQL Server上运行,这正是他正在使用的(根据标签)。 – 2011-04-21 08:05:47

+0

ya mike ..可能会不会.. :) – Avi 2011-04-21 08:25:26

+0

但是,获得PL/SQL的日常剂量总是很好的,谢谢! – 2011-04-21 08:33:40

减少查询负担

SELECT SUM(count1), SUM(count2), SUM(count3), substring(month,4,2) 
FROM myTable 
GROUP BY substring(month,4,2)