sql >> Databáze >  >> RDS >> Sqlserver

SQL Server:Rozdíl mezi PARTITION BY a GROUP BY

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.



  1. Příběh dvou shluků faktorů

  2. Příklad použití bind_result vs get_result

  3. Příklady DATEDIFF() – MySQL

  4. Salesforce SOQL od Crystal Reports