- Använda JOIN
och en fråga med GROUP BY
för att få maximalt ID för varje kategori (jag antar att du vill ha raden med maximalt ID för varje kategori, eller hur?)
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
- Använder IN
och en fråga för att få maximalt ID för varje kategori
SELECT id
, title
, created
, updated
, category
, content
FROM entries
WHERE id IN
( SELECT max(id)
FROM entries
GROUP BY category
)
- Använder ALLA
och en korrelerad underfråga
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
)
- Använder INTE FINNS
och en korrelerad underfråga
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
)