sql >> Database >  >> RDS >> Sqlserver

SQL Server:verschil tussen PARTITION BY en GROUP BY

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.



  1. Standaard datum-/tijdnotatietekenreeksen ondersteund door FORMAT() in SQL Server

  2. Gebruik Create Statement om een ​​tabel te maken in SQL Server - SQL Server / T-SQL Tutorial Part 34

  3. Volgorde van uitvoering van de SQL-query

  4. Gem. inconsistentie float