SQL PARTITION BY (Dansk)

Resumé: i denne vejledning lærer du hvordan du bruger SQL PARTITION BY klausul for at ændre, hvordan vinduesfunktionen beregner resultatet.

SQL PARTITION BY klausuloversigt

PARTITION BY klausul er en underklausul af OVER -klausulen. PARTITION BY -klausulen deler en forespørgsels resultat i partitioner. Vinduesfunktionen betjenes på hver partition separat og genberegnes for hver partition.

Følgende viser syntaksen for PARTITION BY -klausulen:

Du kan angive en eller flere kolonner eller udtryk for at opdele resultatsættet. expression1, expression1 osv. Kan kun henvise til kolonnerne afledt af FROM klausul. De kan ikke henvise til udtryk eller aliaser i listen over valg.

Udtrykkene fra PARTITION BY -klausulen kan være kolonneudtryk, skalarunderforespørgsel eller skalarfunktion. Bemærk, at en skalær underforespørgsel og skalarfunktion altid returnerer en enkelt værdi.

Hvis du udelader PARTITION BY -klausulen, behandles hele resultatsættet som en enkelt partition.

PARTITION BY vs. GROUP BY

GROUP BY -klausulen bruges ofte sammen med en samlet funktion såsom SUM() og AVG(). GROUP BY -klausulen reducerer antallet af returnerede rækker ved at rulle dem op og beregne summen eller gennemsnittet for hver gruppe.

For eksempel returnerer følgende udsagn gennemsnittet løn for medarbejdere efter afdelinger:

Følgende billede viser resultatet:

PARTITION BY -klausulen deler resultatsættet i partitioner og ændrer, hvordan vinduesfunktionen beregnes. PARTITION BY klausul reducerer ikke antallet af returnerede rækker.

Følgende udsagn returnerer medarbejderens løn og også den gennemsnitlige løn for medarbejderens afdeling:

Her er den delvise output:

Med enkle ord er GROUP BY -klausulen samlet, mens PARTITION BY -klausulen er analytisk.

I denne tutorial, du har lært om SQL PARTITION BY klausul, der ændrer, hvordan vinduesfunktionens resultat beregnes.

  • Var denne tutorial nyttig?
  • JaNej

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *