SQL Sum by和group by

时间:2015-11-30 12:40:33

标签: mysql sql select sum

我在使用MySQL的SUM函数时遇到了问题。

我的表格包含'代码','年','情景','月'和'价值'变量。价值'列是十进制(11,3)类型。 我们的想法是通过代码来SUM值。

当我按季度按代码选择SUM时,请使用以下代码(对于第1季度 - > 1月+ 2月+ 3月):

SELECT code, sum(value)
FROM volume
WHERE year=2016 AND scenario = 'Budget' AND month = 'JAN' OR month = 'FEB' OR month = 'MAR'
GROUP BY code, value
ORDER BY code Desc

注意:从这个查询中我得到了正确的结果,我很高兴。

然后我尝试按代码选择全年SUM。

当我尝试构建此查询时,我使用以下内容:

SELECT code, sum(value)
FROM volume
WHERE year = 2016 AND scenario = 'Budget'
GROUP BY code, value
ORDER BY code Desc

对于此查询,我得到的结果是:

V.9236 | 1962.950

V.9236 | 187.050

V.9230 | 2282.500

V.9230 | 217.500

我什么时候应该:

V.9236 | 2150

V.9230 | 2500

你能帮我弄清一下查询的错误吗?

谢谢大家。

1 个答案:

答案 0 :(得分:4)

你不必按值分组,只需要代码就好了:

 SELECT code, sum(value) 
 FROM volume WHERE year=2016 
  AND scenario='Budget' 
 GROUP BY code 
 ORDER BY code Desc