Mam prosty stół komentuje (id INT, revision INT, comment VARCHAR(140))
z niektórych treści jak poniżej:Najlepsze zapytanie o "wybierz maks. W grupie"?
1|1|hallo1|
1|2|hallo2|
1|3|hallo3|
2|1|hallo1|
2|2|hallo2|
szukam instrukcji SQL, która zwróci każdy komentarz z najwyższej Weryfikacja:
1|3|hallo3|
2|2|hallo2|
mam wymyślić to rozwiązanie:
select id, revision, comment
from comments
where revision = (
select max(revision)
from comments as f
where f.id = comments.id
);
, ale jest bardzo wolny na dużych zbiorach danych. Czy są jakieś lepsze pytania, aby to osiągnąć?
można rozważyć zmianę nazwy tematu do refleksji lub optymalizację wydajności? – hometoast
Korzystanie z funkcji okna jest zwykle szybsze. –