Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server:różnica między PARTITION BY i GROUP BY

Są używane w różnych miejscach. group by modyfikuje całe zapytanie, na przykład:

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

Ale partition by po prostu działa na funkcji okna, takiej jak row_number :

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

group by zwykle zmniejsza liczbę zwracanych wierszy, zwijając je i obliczając średnie lub sumy dla każdego wiersza. partition by nie wpływa na liczbę zwracanych wierszy, ale zmienia sposób obliczania wyniku funkcji okna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W SQL Server, jak mogę zablokować pojedynczy wiersz w sposób podobny do Oracle SELECT FOR UPDATE WAIT?

  2. Jak przekonwertować wielkie litery na małe w programie SQL Server — LOWER()

  3. JDBC SQLServerException:Ten sterownik nie jest skonfigurowany do zintegrowanego uwierzytelniania.

  4. Zwróć wiersze zawierające znaki inne niż alfanumeryczne w SQL Server

  5. Sprawdź, czy obiekt jest procedurą składowaną, używając OBJECTPROPERTY() w SQL Server