sql >> Database >  >> RDS >> Mysql

Bestel resultaatformulier Mysql group by

  • JoIN gebruiken

en een zoekopdracht met GROUP BY om de maximale id voor elke categorie te krijgen (ik neem aan dat je de rij met de maximale id voor elke categorie wilt, nietwaar?)

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
JOIN
    ( SELECT max(id) AS maxid
      FROM entries
      GROUP BY category
    ) AS cat
ON e.id = cat.maxid
  • IN gebruiken

en een vraag om de maximale id voor elke categorie te krijgen

SELECT id
     , title
     , created
     , updated
     , category
     , content
FROM entries
WHERE id IN
    ( SELECT max(id)
      FROM entries
      GROUP BY category
    )
  • EEN GEBRUIKEN

en een gecorreleerde subquery

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE e.id >= ANY
    ( SELECT cat.id
      FROM entries cat
      WHERE e.category = cat.category
    )
  • NO EXISTS gebruiken

en een gecorreleerde subquery

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE NOT EXISTS
    ( SELECT 1
      FROM entries cat
      WHERE cat.id > e.id
        AND e.category = cat.category
    )


  1. Gegevens laden en beheren in Microsoft Power BI

  2. Interne SQL Server:problematische operators Pt. Ik – Scans

  3. Hoe krijg ik het laatste veld in een Mysql-database met PHP?

  4. Kan kolomnaam desc niet gebruiken in mysql