我有一个包含一些列的表,我想选择'id'和最高的'value'。
当我这样做时:
SELECT id, max(value) AS highest_value FROM table WHERE id_column='2' GROUP BY id
我得到正确的id值,但我得到多行(正常行为)。
因为我只想要最高值的id,我做标准请求是:
SELECT id, max(value) AS highest_value FROM table WHERE id_column='2'
然后我有另一个id为相同的highest_value ...无法理解为什么。
答案 0 :(得分:1)
...
ORDER BY highest_value DESC
LIMIT 1
如果ID是唯一的,您甚至不需要max()
和GROUP BY
。
SELECT id
FROM table
WHERE id_column = '2'
ORDER BY value DESC
LIMIT 1
;