Prvo prebrojis ko je koliko knjiga uzeo, poredjas po velicini od veceg ka manjem i uzmes prvih 10 po tom redosledu
Code:
SELECT TOP 10 izdavanjeknjige.rednibrojcitaoca,
COUNT(iznajmljeneknjige.sifraiznajmljivanja) AS countofsifraiznajmljivanja
FROM izdavanjeknjige
INNER JOIN iznajmljeneknjige
ON izdavanjeknjige.sifraizdavanja = iznajmljeneknjige.sifraizdavanja
GROUP BY izdavanjeknjige.rednibrojcitaoca
ORDER BY COUNT(iznajmljeneknjige.sifraiznajmljivanja) DESC;
Odavde sad mozes da ides dalje i da dodas ime, prezime i slicno. dsivic ti je dao lep kveri.
Unesi malo vise podataka, bice lakse da se probaju stvari.
Ovde ima jedna zanimljiva primedba: sta ako imas vise ljudi koji zadovoljavaju kriterijum. Neka trazimo TOP 5, da se lakse pise:
Ime BrojKnjiga
Pera 20
Laza 20
Mika 15
Steva 17
Zorica 17
Milica 17
Pera i Laza su uzeli po 20 knjiga, Mika 15. To je 3 citaoca. Treba nam jos 2. E kako sad da odaberemo kad Steva, Zorica i Milica svi imaju po 17 knjiga?
Problem nije u kveriju, problem je u pitanju. Ovakva pitanja moraju da se definisu bolje. Kad ti neko trazi ovako nesto, postavi mu kontra pitanje. I bices miran sledece dve nedelje :-)
Ali, ako ti kaze na primer: Pokazi prvih deset, pa ako deseta pozicija ima konkurente sa istim brojem uzetih knjiga, prikazi i njih, onda se kveri komplikuje, posebno u Accessu :-)
A mogu da kazu: daj mi 10 najvecih prebrojavanja i pokazi sve ljude koji su uzeli toliko knjiga. Onda bi spisak koji sam dao bio duzi, jer imamo samo vrednosti 20,15,17.
Eto ti materijala za vezbanje i mozganje :-)