Mysql SUM函数带有IF语句

时间:2013-09-29 12:54:08

标签: mysql sql

我正在为自己写一个小小的财务计划,我在这里遇到了这个小问题:)

我用两种不同的货币(美元,欧元)存储我的收据。 基本上我想做一个SELECT查询,它将返回欧元收据的总和。

SELECT SUM(IF(type='euro',amount,amount*value)) FROM receipt

到目前为止,我发现上述查询不会遍历表格的每一行。它只是为我总结了第二个陈述。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

怎么样:

select 
    (select sum(amount) from receipt where type='euro') +
    (select sum(amount)*value from receipt where type != 'euro')

答案 1 :(得分:0)

SELECT SUM(SELECT amount FROM receipt WHERE type='euro') AS euro_amount, SUM(SELECT amount FROM receipt WHERE type='usd') AS usd_amount FROM receipt

你不能在if条件下写一个字段的总和,你可以尝试上面的子查询,如果你想使用单个查询得到结果