MySQL:组合列的最大值

时间:2015-12-31 18:55:13

标签: mysql

我需要返回两个组合列的最高值。

SELECT id, max(points1 + points2) as points from schema.table;

我希望它在寻找最高值之前合并两列。它似乎正在做的是找到points1的最高值,然后是points2的最高值,然后将它们组合起来。

我希望这是有道理的!

更新示例:

ID     Points1     Points2
1      100         200
2      80          30
3      40          400

max(points1 + points2)似乎返回的值是500.我希望看到的值是440 - 这是最高的COMBINED值。希望这更有意义......

3 个答案:

答案 0 :(得分:1)

如果我正确理解你的帖子,你正在寻找:

SELECT id FROM schema.table
WHERE points1 + points2 = (SELECT MAX(points1 + points2) FROM schema.table)

答案 1 :(得分:0)

您正在寻找一个非常简单的查询:

SELECT id, point 
FROM schema.table
INNER JOIN (SELECT MAX(points1 + points2) as point
  FROM schema.table) q ON q.point=(points1+points2);

答案 2 :(得分:0)

另一种解决方案:

SELECT id, points1+points2 AS point FROM table ORDER BY point DESC LIMIT 1

没有LIMIT 1,您可以获得完整排名