我在使用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
你能帮我弄清一下查询的错误吗?
谢谢大家。
答案 0 :(得分:4)
你不必按值分组,只需要代码就好了:
SELECT code, sum(value)
FROM volume WHERE year=2016
AND scenario='Budget'
GROUP BY code
ORDER BY code Desc