我有一个查询,可以查询个人的月收入。我想得到他们不同收入的总和(2个工作,退休金等)。由于它们是月度值,因此我还需要乘以12才能得出其年总收入
select DISTINCT f.monthly * 12 as [Income]
FROM
Money
WHERE
ID_ = 5
AND type = 'income';
这给了我
Income
6756
32772
这就是我试图汇总专栏的方式
select DISTINCT SUM(f.monthly * 12) as [Income]
FROM
Money
WHERE
ID_ = 5
AND type = 'income';
这给我
Income
237168
当总数应为39528时。我尝试移动方括号,以便首先对列求和,然后乘以12,但得到的结果相同
最佳答案
您需要将distinct
放置在sum
函数内部,而不是外部...
select SUM(DISTINCT f.monthly * 12) as [Income]
FROM
Money
WHERE
ID_ = 5
AND type = 'income';
关于sql - sum()不能按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51483026/