Funkcija HAVING() je nastala kado svojevrsna zamena za WHERE() komandu, u smislu da je prosirila opcije za definisanje uslova.
Neki ce funkciju HAVING() smatrati komplikovanom:
SELECT naziv_kolone, neka_funkcija(kolona)
FROM neka_tabela
WHERE uslov
GROUP BY naziv_kolone
HAVING funkcija(kolona) vrednost
Posmatrajuci prethodno nije ni cudo sto se neki zbune kada se prvi put susretnu sa HAVING() SQL funkcijom. No, dobro, praksa sve resava...
Koristicemo istu tabelu kao i kod SUM() funkcije, tabelu "narudzbe":
mysql> SELECT * FROM narudzbe;
+---------------+-------+---------+
| oznakainterno | iznos | narucio |
+---------------+-------+---------+
| 43230 | 4000 | Zoran |
| 45280 | 5000 | Marko |
| 45280 | 5000 | Jagoda |
| 28900 | 4000 | Jagoda |
| 35420 | 5600 | Zoran |
| 40680 | 3800 | Petar |
+---------------+-------+---------+
6 rows in set (0.03 sec)
mysql>
Iz prethodne tabele treba da izvucemo sve klijente kod kojih su narudzbe vece od 4200:
SELECT narucio,SUM(iznos) AS total FROM narudzbe GROUP BY narucio HAVING SUM(iznos)>4200;mysql> SELECT narucio,SUM(iznos) AS total FROM narudzbe -> GROUP BY narucio -> HAVING SUM(iznos)>4200; +---------+-------+ | narucio | total | +---------+-------+ | Jagoda | 9000 | | Marko | 5000 | | Zoran | 9600 | +---------+-------+ 3 rows in set (0.05 sec) mysql>
2014 © webprogramianje.net - Sva prava su zadržana. 




