Stavek GROUP BY združi vrstice z enakim vrednostmi v vrstice s povzetkom, na primer poišči delavca, ki je zaposlen v določenem oddelku. Pogosto se uporablja z združevalnimi funkcijami AVG(), COUNT(), MAX(), MIN() in SUM() za združevanje nabora rezultatov po enem ali več stolpcih. Za primer bomo vzeli tabelo zaposleni.
id_zaposlenega | ime_zaposlenega | priimek_zaposlenega | tel_zaposlenega | delo_zaposlenega |
---|---|---|---|---|
1 | Nataša | Merlot | 101 | tajništvo |
2 | Ema | Trubar | 102 | tajništvo |
3 | Ludvik | Pre | 103 | nabava |
4 | Jože | Veteran | 104 | nabava |
5 | Emilija | Leva | 105 | prodaja |
6 | Petra | Srednja | 106 | prodaja |
7 | Sabina | Veter | 107 | prodaja |
8 | Janez | Kobila | 108 | prodaja |
9 | Nina | Kača | 109 | pakirnica |
10 | Peter | Oltar | 110 | skladišče |
SELECT COUNT(id_zaposlenega), ime_zaposlenega FROM zaposleni GROUP BY ime_zaposlenega;
Naslednji SQL stavek navaja id, ki ga ima vsak zaposlen. V tabelah kupci in zaposleni najdemo ime Nina, ki se nahaja v obeh tabelah, zato je tudi prikazano. Id kupca z imenom Nina se nahaja pod id 9 v tabeli zaposleni (zgornja tabela).
id_kupca | ime_kupca | starost_kupca |
---|---|---|
1 | Jure | 23 |
2 | Bojan | 50 |
3 | Nina | 65 |
4 | Lili | 87 |
5 | Simona | 19 |
SELECT kupci.ime_kupca, COUNT(kupci.id_kupca) AS Kupec FROM zaposleni LEFT JOIN kupci ON zaposleni.ime_zaposlenega = kupci.ime_kupca GROUP BY id_zaposlenega;