pnr mnd pris
1 1 600
1 7 900
2 1 600
2 7 600
3 1 40
3 7 40
我很难对列上的特定行求和。综上所述,该表称为旅行,它有3列:
所以我想要的是总计特定月份价格的总和,因此在这种情况下,应该是1240美元和第1个月。对于第7个月,应该是1540美元。
我无法正确执行查询。到目前为止,我还没有尝试过:
SELECT t.rnr, t.mnd, SUM(t.pris)
FROM travel AS t
WHERE t.mnd = 1
我得到的结果是3720 USD,我不知道SQL如何为我计算出这笔费用。
感谢有人可以帮助我!
答案 0 :(得分:1)
为此,您需要从输出中删除pnr
列(这无关紧要,将导致数据分裂)并添加GROUP BY
:
SELECT t.mnd, SUM(t.pris)
FROM travel AS t
WHERE t.mnd = 1
GROUP BY t.mnd
实时演示:https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=b34ec2bb9c077c2d74ffc66748c5c142
(如您现在所使用的,不带分组的聚合函数不是标准的SQL功能,通常可以在MySQL中关闭。如果打开,则可能不会总是得到您期望/预期的结果)
答案 1 :(得分:0)
仅将结果与mnd
列
SELECT t.mnd, SUM(t.pris)
FROM travel AS t
group by t.mnd