选择达到行中值较高的列的总和

时间:2014-10-18 09:41:12

标签: mysql sql

我有这张桌子:

a   b
-----
1   3
4   3
2   1

我想从哪里选择a和b之间较高者的总和。

我已尝试过以下查询,但SUM()并未识别出我希望他总结的价值。

SELECT IF(a > b, a, b) AS number, SUM(number) FROM table;

2 个答案:

答案 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