0

可能重复:
组在组中获得最大行数?

所以我有一个包含出价的表 具有auction_id 和bid_price 和bidder_id 我需要获得一个包含每次拍卖的最高出价的结果集。有没有办法让我获得每个auction_id 的最大值?谢谢

编辑

SELECT MAX(bid_price)、auction_id、bidder_username 来自bids GROUP BYuction_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

4

1 回答 1

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 中清楚地显示并且功能在最后,那么查询也会变得更加清晰,但这可能只是个人喜好。

于 2012-11-30T04:37:08.180 回答