Mam bazę:
id (int-3), data(datetime), kategoria(int-3), tresc(text).
wiem, że aby pobrać najnowszy rekord trzeba napisać:
SELECT * FROM tabela ORDER BY data ASC LIMIT 0,1
jednak nie bez przyczyny w bazie jest tabela kategoria. Jeżeli chciałbym się dowiedzieć o najnowszą datę w każdej kategori, powinienem zapytać:
SELECT MAX(data) FROM tabela GROUP BY kategoria
Gdybym jednak chcial razem z tą datą pobrać pozostale elementy i wtedy je zgrupować w kategorie kodem:
SELECT id,MAX(data),kategoria,tresc FROM tabela GROUP BY kategoria
Otrzymał bym datę ostatniego wpisu w danej kategori, a treść i ID pierwszego. Jak pobrać ostatnie rekordy dla każdej kategori za jednym zamachem (załóżmy, że mam 500 rekordów i kategorie 1,2,3,4,5,6,7,8,50,734 - tak dla utrudnienia sobie sprawy).