Používají se na různých místech. group by
upraví celý dotaz, například:
select customerId, count(*) as orderCount
from Orders
group by customerId
Ale partition by
funguje pouze na funkci okna, jako je row_number
:
select row_number() over (partition by customerId order by orderId)
as OrderNumberForThisCustomer
from Orders
group by
obvykle snižuje počet vrácených řádků jejich shrnutím a výpočtem průměrů nebo součtů pro každý řádek. partition by
neovlivňuje počet vrácených řádků, ale mění způsob výpočtu výsledku funkce okna.