Uporaba skupine po za več stolpcev
Razumem smisel GROUP BY x
Toda kako deluje GROUP BY x, y
in kaj pomeni?
955
2
Razumem smisel GROUP BY x
Toda kako deluje GROUP BY x, y
in kaj pomeni?
Group By X
pomeni vse tiste z enako vrednostjo za X uvrstiti v eno skupino.Group By X, Y
pomeni v eno skupino uvrstiti vse, ki imajo enake vrednosti za X in Y.Za ponazoritev s primerom recimo, da imamo naslednjo tabelo, ki prikazuje, kdo obiskuje kateri predmet na univerzi:
Če uporabimo
group by
samo za stolpec predmeta; recimo:boste dobili nekaj takega:
...ker je 5 vnosov za ITB001 in 2 za MKB114
Če bi
skupinili po
dveh stolpcih:bi dobili tole:
To je zato, ker ko grupiramo po dveh stolpcih, to pomeni "grupirajte jih tako, da so vsi z istim predmetom in semestrom v isti skupini, nato pa izračunajte vse agregatne funkcije (Count, Sum, Average itd.) za vsako od teh skupin". V tem primeru je to razvidno iz dejstva, da ko jih preštejemo, so tri osebe, ki opravljajo ITB001 v 1. semestru, in dve, ki ga opravljata v 2. semestru. Obe osebi, ki opravljata MKB114, sta v 1. semestru, zato ni vrstice za 2. semester (v skupino "MKB114, 2. semester" ne sodi noben podatek).
Upam, da je to smiselno.
Klavzula
GROUP BY
se uporablja v povezavi s funkcijami za združevanje, da se niz rezultatov združi po enem ali več stolpcih, npr.:Zapomnite si ta vrstni red:
Če uporabljate agregatne funkcije, lahko uporabite vse te funkcije, pri čemer jih je treba nastaviti v tem vrstnem redu, sicer lahko pride do napake.
Agregatne funkcije so:
MIN vrne najmanjšo vrednost v danem stolpcu