De används på olika ställen. group by ändrar hela frågan, som:
select customerId, count(*) as orderCount
from Orders
group by customerId
Men partition by fungerar bara på en fönsterfunktion, som row_number :
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
En group by minskar normalt antalet rader som returneras genom att rulla upp dem och beräkna medelvärden eller summor för varje rad. partition by påverkar inte antalet returnerade rader, men det ändrar hur en fönsterfunktions resultat beräknas.