Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server:Разлика между PARTITION BY и GROUP BY

Използват се на различни места. group by променя цялата заявка, като:

select customerId, count(*) as orderCount
from Orders
group by customerId

Но partition by просто работи върху функция на прозореца, като row_number :

select row_number() over (partition by customerId order by orderId)
    as OrderNumberForThisCustomer
from Orders

group by обикновено намалява броя на върнатите редове, като ги навива и изчислява средни стойности или суми за всеки ред. partition by не засяга броя на върнатите редове, но променя начина, по който се изчислява резултатът от функцията на прозореца.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на условие if във вмъкнат SQL Server

  2. Как да покажете съпоставянето на сървъра в SQL Server (T-SQL)

  3. Променете паролата за вход в SQL сървър

  4. Как да върнете резултатите от заявката като списък, разделен със запетая в SQL Server – STRING_AGG()

  5. Динамично създаване на колони sql