Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server:Sự khác biệt giữa PARTITION BY và GROUP BY

Chúng được sử dụng ở những nơi khác nhau. nhóm group by sửa đổi toàn bộ truy vấn, như:

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

Nhưng partition by chỉ hoạt động trên một chức năng cửa sổ, như row_number :

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

Một nhóm group by thường giảm số hàng được trả về bằng cách cuộn chúng lên và tính giá trị trung bình hoặc tổng cho mỗi hàng. partition by không ảnh hưởng đến số hàng được trả về, nhưng nó thay đổi cách tính kết quả của hàm cửa sổ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sao chép các hàng dựa trên giá trị cột trong mỗi hàng

  2. Mã khung thực thể chậm khi sử dụng Bao gồm () nhiều lần

  3. So sánh chuỗi phân biệt chữ hoa chữ thường trong SQL

  4. Cách cài đặt Azure Data Studio trên máy Mac

  5. Trả lại các thủ tục và hàm đã lưu trữ trong cơ sở dữ liệu máy chủ SQL:ROUTINES (Ví dụ T-SQL)