SELECT TOP 5 BracniStatus, COUNT()
FROM Zaposleni
GROUP BY BracniStatus
HAVING COUNT() >= 4
Objašnjenje kažeš?
Treba ići od početka:
a) SELECT BracniStatus FROM Zaposleni
Ovime ćeš dobiti popis bračnih statusa svih zaposlenika.
Primjer:
udana
udana
oženjen
rastavljen
udana
…
b) SELECT BracniStatus FROM Zaposleni GROUP BY BracniStatus
Ovo je jedan korak bliže jer ćeš dobiti samo ovo:
udana
oženjen
rastavljen
neudana
c) SELECT BracniStatus, COUNT(*) FROM Zaposleni GROUP BY BracniStatus
Da naše grupiranje bude korisno, stavljen je COUNT koji broji slogove.
Naš rezultata je npr:
udana, 15
oženjen, 43
rastavljen, 18
neudana, 2
d) SELECT BracniStatus, COUNT() FROM Zaposleni GROUP BY BracniStatus HAVING COUNT() >=4
Ako je shvaćeno sve ovo prije, HAVING je jednostavan jer se koristi kod agregatnih funkcija. U prijevodu, “daj mi sve … koji count(*) ima >= 4”
e) SELECT TOP 5 BracniStatus, COUNT() FROM Zaposleni GROUP BY BracniStatus HAVING COUNT() >=4
Vraća prvih 5 bračnih statusa kojima je count(*) >= 4