De bruges forskellige steder. group by
ændrer hele forespørgslen, f.eks.:
select customerId, count(*) as orderCount
from Orders
group by customerId
Men partition by
virker bare på en vinduesfunktion, såsom row_number
:
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
En group by
reducerer normalt antallet af returnerede rækker ved at rulle dem op og beregne gennemsnit eller summer for hver række. partition by
påvirker ikke antallet af returnerede rækker, men det ændrer, hvordan en vinduesfunktions resultat beregnes.