Brug af gruppe efter på flere kolonner
Jeg forstår pointen med GROUP BY x
.
Men hvordan fungerer GROUP BY x, y
, og hvad betyder det?
955
2
Jeg forstår pointen med GROUP BY x
.
Men hvordan fungerer GROUP BY x, y
, og hvad betyder det?
Group By X
betyder at alle med den samme værdi for X samles i én gruppe.Group By X, Y
betyder at alle med samme værdier for både X og Y lægges i samme gruppe.Lad os illustrere dette ved hjælp af et eksempel: Lad os sige, at vi har følgende tabel, som viser, hvem der læser hvilket fag på et universitet:
Når du bruger en
group by
kun på kolonnen for faget; f.eks:Du vil få noget i stil med:
...fordi der er 5 poster for ITB001 og 2 for MKB114
Hvis vi skulle
gruppere efter
to kolonner:ville vi få dette:
Det skyldes, at når vi grupperer efter to kolonner, siger den "Grupper dem, så alle dem med samme emne og semester er i samme gruppe, og beregn derefter alle de aggregerede funktioner (Count, Sum, Average osv.) for hver af disse grupper". I dette eksempel viser det sig ved, at når vi tæller dem, er der tre personer, der læser ITB001 på 1. semester, og to personer, der læser det på 2. semester. Begge de personer, der laver MKB114, er på 1. semester, så der er ingen række for 2. semester (ingen data passer ind i gruppen "MKB114, 2. semester")
Forhåbentlig giver det mening.
Klausulen
GROUP BY
bruges sammen med aggregeringsfunktionerne til at gruppere resultatmængden efter en eller flere kolonner, f.eks:Husk denne rækkefølge:
Du kan bruge alle disse, hvis du bruger aggregerede funktioner, og dette er den rækkefølge, de skal indstilles i, ellers kan du få en fejl.
Aggregerede funktioner er: