Tôi có truy vấn sau đây:Đếm tổng số hàng với một nhóm bởi
select count(ords.TRACKING_NUM)
from Orders ords (NoLock)
group by ords.TRACKING_NUM
having count(distinct ords.ORDER_NUM) = 4
Tôi muốn nó lấy tổng số tiền TRACKING_NUMs có 4 ORDER_NUMs trên chúng (nên 3352). Thay vào đó, tôi nhận được 3.352 hàng bằng 4 (hoặc nhiều hơn vì khác biệt).
Tôi hiểu tại sao điều này xảy ra. Nó đang đếm các giá trị bên trong mỗi nhóm. Và tôi có thể dễ dàng thay đổi truy vấn này:
select ords.TRACKING_NUM
from Orders ords (NoLock)
group by ords.TRACKING_NUM
having count(distinct ords.ORDER_NUM) = 4
và sau đó nhận được 3.352 hàng TRACKING_NUMs trả lại cho tôi. Tuy nhiên, điều này không phải là rất thực hiện trên cơ sở dữ liệu của tôi (mất khoảng 41 giây). Những gì tôi thực sự cần là một truy vấn mà sẽ cho tôi một số và chỉ đếm (và bằng cách đó hy vọng đi nhanh hơn).
Cảm ơn mọi đề xuất.
Chạy điều này trong SSMS cung cấp lỗi sau: Msg 170, Cấp 15, Tiểu bang 1, Dòng 7 Dòng 7: Cú pháp không chính xác gần ')'. – Vaccano
Nếu tôi chạy nó trong ApexSQL sửa Tôi nhận được lỗi này: Msg 156, Cấp 15, Tiểu bang 1, Xảy ra trên Đường dây: 10 Cú pháp không đúng gần từ khoá 'bộ'. – Vaccano
Có, bảng dẫn xuất cần có bí danh –