What query do I run to select the HIGHEST value for EACH group of values in an SQL table?
I have a table of bids
(like an eBay bids, for example):
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
开发者_运维问答I need to select each bid_for_auction
only once with its highest current bid, so my result should look like this:
bid_for_auction | bid_price
1 | 50
2 | 20
How would I go about doing this?
Use 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
This should do the trick:
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
精彩评论