我需要返回两个组合列的最高值。
SELECT id, max(points1 + points2) as points from schema.table;我希望它在寻找最高值之前将这两列组合在一起。它所做的似乎是找到points1的最高值,然后是points2的最高值,然后将它们组合在一起。
我希望这是有意义的!
使用示例更新:
ID Points1 Points2
1 100 200
2 80 30
3 40 400max(points1 + points2)返回的值似乎是500。我希望看到的是440的值--这是最高的总和。希望这更有意义。
发布于 2016-01-01 03:07:04
如果我对你的帖子的理解是正确的,你正在寻找:
SELECT id FROM schema.table
WHERE points1 + points2 = (SELECT MAX(points1 + points2) FROM schema.table)发布于 2016-01-01 03:07:41
您正在寻找一个非常简单的查询:
SELECT id, point
FROM schema.table
INNER JOIN (SELECT MAX(points1 + points2) as point
FROM schema.table) q ON q.point=(points1+points2);发布于 2016-01-01 03:11:30
另一种解决方案:
SELECT id, points1+points2 AS point FROM table ORDER BY point DESC LIMIT 1没有LIMIT 1,你可以获得完整的排名
https://stackoverflow.com/questions/34550580
复制相似问题