我正在尝试使用if条件进行求和计算。但是我似乎没有做对。我想使用下表执行以下操作:
id amt1 amt2
1 100 50
2 80 -50
3 40 30
4 45 50
5 85 20
我希望Sum(amt1)+(amt2)
仅amt2<0
所以总数应该是:
100
30
40
45
85
在查询中有没有办法做到这一点?
亲切的问候,
米歇尔
答案 0 :(得分:1)
在MySQL中,false == 0和true == 1,所以:
select amt1 + (amt2 < 0) * amt2
答案 1 :(得分:0)
MySQL查询:
SELECT IF(amt<0,SUM(amt1+amt2),amt1) as totals from tb;
答案 2 :(得分:0)
您好,您可以执行以下操作:
SELECT id, IF(amt2 < 0,sum(amt1 + amt2),amt1) as result FROM tb GROUP BY id;