SQL PARTITION BY (Norsk)

Sammendrag: i denne opplæringen lærer du hvordan du bruker SQL PARTITION BY klausul for å endre hvordan vinduefunksjonen beregner resultatet.

SQL PARTITION BY klausuloversikt

PARTITION BY klausul er en underklausul av OVER klausulen. PARTITION BY -klausulen deler resultatet av et søk i partisjoner. Vindusfunksjonen betjenes på hver partisjon separat og beregner på nytt for hver partisjon.

Følgende viser syntaksen til PARTITION BY -klausulen:

Du kan spesifisere en eller flere kolonner eller uttrykk for å partisjonere resultatsettet. expression1, expression1 osv. Kan bare referere til kolonnene som er avledet av FROM klausul. De kan ikke referere til uttrykk eller aliaser i listen over valg.

Uttrykkene til PARTITION BY -satsen kan være kolonneuttrykk, skalarundersøking eller skalarfunksjon. Vær oppmerksom på at en skalarundersøking og skalarfunksjon alltid returnerer en enkelt verdi.

Hvis du utelater PARTITION BY -klausulen, behandles hele resultatsettet som en enkelt partisjon.

DELING BY vs. GROUP BY

GROUP BY -satsen brukes ofte i forbindelse med en samlet funksjon som SUM() og AVG(). GROUP BY -klausulen reduserer antall rader som returneres ved å rulle dem opp og beregne summer eller gjennomsnitt for hver gruppe.

For eksempel returnerer følgende utsagn gjennomsnittet lønn til ansatte etter avdelinger:

Følgende bilde viser resultatet:

PARTITION BY -delingen deler resultatsettet i partisjoner og endrer hvordan vinduefunksjonen beregnes. PARTITION BY -klausulen reduserer ikke antall returnerte rader.

Følgende uttalelse returnerer den ansattes lønn og også gjennomsnittlig lønn for den ansattes avdeling:

Her er delvis utdata:

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

I dette opplæring, du har lært om SQL PARTITION BY klausul som endrer hvordan vinduefunksjonens resultat beregnes.

  • Var denne opplæringen nyttig?
  • JaNei

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *