0

重複の可能性:
グループはグループ内の最大行を取得していますか?

したがって、オークションごとの最高入札額を含む結果セットを取得する必要があります。各オークション ID の最大値を取得する方法はありますか? ありがとう

編集

SELECT MAX(bid_price),uction_id,bidder_username 入札から GROUP BYuction_id;

これは私が現在行っていることですが、正しいbidder_usernameが返されません.

MAX(bid_price) オークションID

71.32 10 顧客 99.00 11 顧客

しかし、データベースでは、71.32 を入札したのはそのユーザーではありません

オークション ID 入札者_ユーザー名 入札時間 入札価格

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;

オークション ID だけでグループ化しているので、MAXすべてのレコードで入札価格が得られます。

やりたいことは、オークションユーザーごとにグループ化することです。たとえば、次のようになります。

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

SELECT で GROUP BY 項目が明確に示され、関数が最後にあると、クエリも読みやすくなると思いますが、それは個人的な好みかもしれません。

于 2012-11-30T04:37:08.180 に答える