3

我有一个看起来有点像这样的表:

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 - 是否有一个查询可以让我获得我想要的数据?

4

1 回答 1

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

于 2012-05-08T23:13:50.137 回答