Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswählen einer Teilmenge von Zeilen aus einer PHP-Tabelle

Sie können eine Unterabfrage haben, die separat den größten Betrag für jeden Verkäufer erhält, und sie erneut mit der Tabelle verbinden, um die zusätzlichen Spalten zu erhalten.

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

oder

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

beide Abfragen werden AUSGEGEBEN

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