如何运行哪个查询以选择SQL表中每个值组的最高值?

问题描述

| 我有一张
bids
的表格(例如,像eBay出价):
bid_id | bid_from_user | bid_for_auction | bid_price
1      | 150           | 1               | 20
2      | 453           | 1               | 30
3      | 42            | 1               | 50
4      | 12            | 2               | 12
5      | 60            | 2               | 20
我只需要选择每个具有最高当前出价的bid2ѭ,因此我的结果应如下所示:
bid_for_auction | bid_price
1               | 50
2               | 20
我将如何去做呢?     

解决方法

使用GROUP BY
SELECT bid_for_auction,MAX(bid_price) AS bid_price
FROM bids GROUP BY bid_for_auction;
    ,
SELECT bid_for_auction,MAX(bid_price)
FROM bids
GROUP BY bid_for_auction
    ,这应该可以解决问题:
SELECT
 `bid_for_auction`,MAX(`bid_price`)
FROM `bids`
GROUP BY `bid_for_auction`
    ,SELECT bid_for_auction,MAX(bid_price)FROM bids GROUP BY bid_for_auction