我需要返回两个组合列的最高值。
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值。希望这更有意义......
答案 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
,您可以获得完整排名