所以我有一张持有出价的表格 有auction_id和bid_price以及bidder_id 我需要获得一个包含每次拍卖最高出价的结果集。 有没有办法让我可以获得每个auction_id的最大值? 谢谢
编辑
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 :(得分: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中且函数结束时,查询也变得更加清晰,但这可能仅仅是个人偏好。