我有一张看起来有点像这样的表:
user_id item_id bid_amount
5 12 22
6 12 47
7 12 40
6 14 55
我正在尝试获得每个项目的最高出价以及属于该出价的user_id。我目前的尝试:
select user_id, max(bid_amount) from bids group by item_id;
非常惊人地失败了。我认为它只是来自组中第一行的user_id - 是否有一个查询可以获取我想要的数据?
答案 0 :(得分:3)
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