SQL - GROUP BY Klauzula


Grupisanje redova

Klauzula GROUP BY koristi se zajedno s naredbom SELECT i agregatnim funkcijama za grupisanje redova zajedničkim vrijednostima kolona. Da bismo to lakše razumjeli, pogledajmo sljedeće tabele zaposlenih i odjela.



Recimo, umjesto da pronađete samo ime zaposlenih i njihove odjele, želite saznati ukupan broj zaposlenih u svakom odjelu. U slučaju malih tabela možete jednostavno primijeniti lijevo spajanje i izbrojati broj zaposlenih, ali pretpostavimo da ako tabela sadrži hiljade zaposlenih, to ne bi bilo tako lako. U ovoj situaciji možete koristiti klauzulu GROUP BY s naredbom SELECT, ovako:

SELECT t1.dept_name, count(t2.emp_id) AS total_employees
FROM departments AS t1 LEFT JOIN employees AS t2
ON t1.dept_id = t2.dept_id
GROUP BY t1.dept_name;

Ako izvršite gornju izjavu, dobit ćete izlaz otprilike ovako:



U sljedećoj ćete lekciji naučiti kako odrediti uslov pretraživanja za grupu pomoću klauzule HAVING s klauzulom GROUP BY.