qryBrojServisaPoVozilu daje pregled svih servisa po vozilima, i to je ocigledno:
Code:
SELECT ServisiVozila.Vozilo, Count(ServisiVozila.DatumServisa) AS CountOfDatumServisa, ServisiVozila.NazivServisa
FROM ServisiVozila
GROUP BY ServisiVozila.Vozilo, ServisiVozila.NazivServisa
ORDER BY ServisiVozila.Vozilo, Count(ServisiVozila.DatumServisa) DESC , ServisiVozila.NazivServisa;
ORDER BY je vazan, sledeci kveri nece da radi bez ORDER BY u prvom kveriju.
qryBrojServisaPoVozilu_Top5:
Code:
SELECT A.Vozilo, A.NazivServisa, A.CountOfDatumServisa
FROM qryBrojServisaPoVozilu AS A
WHERE A.NazivServisa IN
(SELECT TOP 5 B.NazivServisa
FROM qryBrojServisaPoVozilu AS B
WHERE A.Vozilo=B.Vozilo
ORDER BY B.CountOfDatumServisa DESC);
Kveri qryBrojServisaPoVozilu_Top5 moze da vrati i vise od 5 rekorda, u slucaju da imamo vise servisa koji su trazeni za isto vozilo isti broj puta. Naprimer, za Fiat imam 3 servisa koji su trazeni 10 puta, pa jedan 9 puta i tri od osam puta. To je vise od 5. Nije moguce dobiti tacno 5 ako iam servisa sa istim brojem - koji da uzmemo a koji da odbacimo?
Vozilo NazivServisa CountOfDatumServisa
Fiat Centriranje trapa 10
Fiat Zamena ulja 10
Fiat Zamena vodene pumpe 10
Fiat Stelovanje ventila 9
Fiat Rotacija guma 8
Fiat Zamena brisaca 8
Fiat Zamena svecica 8