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

PHPテーブルから行のサブセットを選択する

    すべての売り手に対して個別に最大額を取得し、それをテーブルに再度結合して追加の列を取得するサブクエリを作成できます。

    SELECT  a.*
    FROM    tableName a
            INNER JOIN
            (
                SELECT  seller, MAX(amount) amount
                FROM    tableName
                GROUP   BY seller
            ) b ON a.seller = b.seller AND
                    a.amount = b.amount
    

    または

    SELECT  a.*
    FROM    tableName a
    WHERE   a.amount =
            (
                SELECT  MAX(amount)
                FROM    tableName b
                WHERE   a.seller = b.seller
            )
    

    両方のクエリが出力されます

    ╔════╦════════╦═══════╦════════╗
    ║ ID ║ SELLER ║ PRICE ║ AMOUNT ║
    ╠════╬════════╬═══════╬════════╣
    ║  3 ║ tom    ║   400 ║    750 ║
    ║  4 ║ jerry  ║   700 ║    250 ║
    ╚════╩════════╩═══════╩════════╝
    



    1. Django:order_idに従ってorder_detail_dataを取得する方法

    2. Now()タイムゾーンなし

    3. オリンピック、UEFAユーロ2016サッカーの試合、データベースの共通点は何ですか?

    4. sql:v1とv2の間