2012-11-30 102 views
0

可能重複:
Group getting maximum row in group?獲得最高出價的價格爲每臺拍賣MYSQL

所以我持有投標 一個爲表auction_id和bid_price和bidder_id 我需要獲得包含每次拍賣的最高出價的結果集。 有沒有一種方法可以讓每個auction_id獲得最大值? 由於

EDIT

SELECT MAX(bid_price),auction_id,bidder_username 從出價 GROUP BY auction_id;

這就是我現在正在做的事情,但它沒有返回正確的bidder_username。

MAX(bid_price)拍賣的ID

71.32 10客戶 99.00 11客戶

,但在數據庫中誰出價71.32的1不是用戶

拍賣的ID bidder_user_name bid_time bid_price

10測試1991-11-26 12:12:12 71.32

+0

查看[聚合函數](http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html)。這是一個簡單的MAX(bid_price)'GROUP BY auction_id'。 –

+0

@Jocelyn我發現令人震驚的是,我找不到另一個max()聚合問題,與您鏈接的問題一樣清晰,如同那個問題一樣弱。 –

回答

0

使用您的查詢:

SELECT MAX(bid_price), auction_id,bidder_username From bids GROUP BY auction_id; 

您只是按auction_id分組,因此您將在所有記錄中獲得MAX bid_price。

你想要做什麼是組通過拍賣用戶,如:

SELECT auction_id, bidder_username, MAX(bid_price) as max_price 
from bids 
GROUP BY auction_id, bidder_username; 

我想查詢也變得更清晰,如果GROUP BY項目在SELECT清楚地顯示和功能最後,但這可能只是個人偏好。