Ze worden op verschillende plaatsen gebruikt. group by wijzigt de hele zoekopdracht, zoals:
select customerId, count(*) as orderCount
from Orders
group by customerId
Maar partition by werkt gewoon op een vensterfunctie, zoals row_number :
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
Een group by vermindert normaal gesproken het aantal geretourneerde rijen door ze op te rollen en gemiddelden of sommen voor elke rij te berekenen. partition by heeft geen invloed op het aantal geretourneerde rijen, maar het verandert hoe het resultaat van een vensterfunctie wordt berekend.