Sono usati in luoghi diversi. group by
modifica l'intera query, come:
select customerId, count(*) as orderCount
from Orders
group by customerId
Ma partition by
funziona solo su una funzione della finestra, come row_number
:
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
Un group by
normalmente riduce il numero di righe restituite arrotolandole e calcolando medie o somme per ogni riga. partition by
non influisce sul numero di righe restituite, ma cambia il modo in cui viene calcolato il risultato di una funzione finestra.