- 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
)