sql >> Databasteknik >  >> RDS >> Mysql

Få max rad per grupp från en relaterad tabell

Du måste skapa en underfråga som får det maximala värdet för subStatusID för varje prodID .

SELECT  a.*,     -- select only columns that you want to show
        c.*,     -- asterisks means all columns
        d.*
FROM    table1 a
        INNER JOIN
        (
            SELECT prodID, max(subStatusID) maxID
            FROM table2
            GROUP BY prodID
        ) b ON a.prodID = b.prodID 
        INNER JOIN  table2 c
            ON b.prodID = c.prodID AND
                b.maxID = c.subStatusID
        INNER JOIN table3 d
            ON c.subStatusID = d.subStatusID



  1. Blanda ett bord i MySQL med en lagrad procedur

  2. MySQL uppdatera uttalande för att lagra ranking positioner

  3. Alternativ för en temporär MySQL-tabell i Oracle

  4. Hur man använder ORDER BY-klausul i SQL?