mySQL:获取一行的其余部分';使用';最大值';
我有一张桌子看起来有点像这样:mySQL:获取一行的其余部分';使用';最大值';,mysql,Mysql,我有一张桌子看起来有点像这样: user_id item_id bid_amount 5 12 22 6 12 47 7 12 40 6 14 55 我正在尝试为每个项目和属于该出价的用户id获取最高出价。我目前的尝试: select user_id, max(bid_amount) from bids group by item_id; 失败得相当惊人。我想这只是
user_id item_id bid_amount
5 12 22
6 12 47
7 12 40
6 14 55
我正在尝试为每个项目和属于该出价的用户id获取最高出价。我目前的尝试:
select user_id, max(bid_amount) from bids group by item_id;
失败得相当惊人。我想这只是组中第一行的用户id——有没有一个查询可以得到我想要的数据
SELECT user_id, item_id, bid_amount FROM bids
WHERE (item_id, bid_amount) IN (
SELECT item_id, MAX(bid_amount) FROM bids GROUP BY item_id
)
在线查看它的工作情况:如果有两个或两个以上的用户对一个项目有相同的出价,该怎么办?或者这是不可能的?这是不可能的,所以您的解决方案可以正常工作--非常感谢。现在我需要做一些思考,这样我才能理解它为什么会工作。以前从未见过sqlfiddle——非常好!