当我运行select时
SELECT id, MAX(amount) AS value FROM bids
它似乎返回了错误的id...它返回第一个id值,而不是最大(数量)选定的id。
发布于 2012-05-02 03:33:56
这是意料之中的--您使用的聚合函数没有任何“group by”子句。MySQL是礼貌的,假设你想要一个全局最大值,而你很可能想要这样做:
SELECT id, MAX(amount) AS value
FROM bids
GROUP BY id发布于 2012-05-02 03:33:27
你需要这样做(尽管我不确定这是获得你想要的数据的最好方法):
SELECT id
FROM bids
WHERE amount = MAX(amount)您也许可以添加一个LIMIT或一个ORDER BY子句(或者同时添加这两个子句),以进一步减少您要查找的数据。
您还可以尝试:
SELECT id
FROM bids
ORDER BY amount DESC
LIMIT 1获取表中最大amount的单个id。如果您这样做,您最终会希望在amount字段上建立索引以加快查询速度。这都是假设您想要与表中最高的amount一起使用的id,仅此而已。
https://stackoverflow.com/questions/10403132
复制相似问题