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ổ.