sql >> データベース >  >> RDS >> Mysql

JOINで最高の結果を得る

    MAX-Functionとサブセレクトを使用して、各オークションの最高入札額を取得できます。この副選択を他のテーブルと結合し、where句を次のように設定すると、探しているものが得られるはずです。

    SELECT a.id, a.title, ab.bid_points, u.display_name 
    FROM Auction AS a
    INNER JOIN (SELECT auction_id, MAX(bid_points) AS maxAmount FROM auction_bids GROUP BY auction_id) AS maxBids ON maxBids.auction_id = a.id
    INNER JOIN auction_bids AS ab ON a.id = ab.auction_id
    INNER JOIN users AS u ON u.id = ab.user_id
    WHERE ab.auction_id = maxBids.auction_id AND ab.bid_amount = maxBids.maxAmount
    

    お役に立てば幸いです。



    1. MySQLデータベースから列名を含むPandasデータフレームへのデータのインポート

    2. MYSQLクエリ結果をORDERBY条件の順序にする方法は?

    3. SQL更新top1行クエリ

    4. java.sql.SQLException:I / Oエラー:Linuxサーバーで接続がリセットされました