SQL PARTITION BY

Samenvatting: in deze tutorial leert u hoe u de SQL PARTITION BY -clausule om te wijzigen hoe de vensterfunctie het resultaat berekent.

SQL PARTITION BY clausule overzicht

De PARTITION BY clausule is een subclausule van de OVER -clausule. De clausule PARTITION BY verdeelt de resultatenset van een query in partities. De vensterfunctie wordt op elke partitie afzonderlijk bediend en herberekent voor elke partitie.

Het volgende toont de syntaxis van de PARTITION BY clausule:

U kunt een of meer kolommen of uitdrukkingen specificeren om de resultatenset te partitioneren. De expression1, expression1, etc., kunnen alleen verwijzen naar de kolommen die zijn afgeleid door de FROM clausule. Ze kunnen niet verwijzen naar uitdrukkingen of aliassen in de selectielijst.

De uitdrukkingen van de PARTITION BY -clausule kunnen kolomuitdrukkingen, scalaire subquerys of scalaire functies zijn. Merk op dat een scalaire subquery en scalaire functie altijd een enkele waarde retourneren.

Als u de PARTITION BY -clausule weglaat, wordt de hele resultatenset behandeld als een enkele partitie.

PARTITION BY vs. GROUP BY

De GROUP BY clausule wordt vaak gebruikt in combinatie met een geaggregeerde functie zoals SUM() en AVG(). De GROUP BY -clausule vermindert het aantal geretourneerde rijen door ze op te rollen en de sommen of gemiddelden voor elke groep te berekenen.

De volgende instructie geeft bijvoorbeeld het gemiddelde als resultaat salaris van medewerkers per afdeling:

De volgende afbeelding toont het resultaat:

De PARTITION BY clausule verdeelt de resultatenset in partities en verandert de manier waarop de vensterfunctie wordt berekend. De PARTITION BY -clausule vermindert het aantal geretourneerde rijen niet.

De volgende verklaring geeft het salaris van de werknemer en ook het gemiddelde salaris van de afdeling van de werknemer terug:

Hier is de gedeeltelijke uitvoer:

In eenvoudige bewoordingen: de GROUP BY -clausule is geaggregeerd terwijl de PARTITION BY -clausule analytisch is.

Hierin is tutorial, heb je geleerd over de SQL PARTITION BY -clausule die verandert hoe het resultaat van de vensterfunctie wordt berekend.

  • Was deze tutorial nuttig?
  • JaNee

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *