我有这张桌子:
a b
-----
1 3
4 3
2 1
我想从哪里选择a和b之间较高者的总和。
我已尝试过以下查询,但SUM()
并未识别出我希望他总结的价值。
SELECT IF(a > b, a, b) AS number, SUM(number) FROM table;
答案 0 :(得分:2)
case
SELECT SUM(CASE WHEN a > b THEN a ELSE b END)
FROM table
答案 1 :(得分:1)
您可以尝试这样的IF():
SELECT SUM( IF( a > b, a, b ) ) FROM test
或案例
SELECT SUM(CASE WHEN a > b THEN a ELSE b END) FROM test
Sql Fiddle:http://sqlfiddle.com/#!2/204f7/1