Tôi có mã này tổng hợp số lượng cho một mặt hàng nhất định ( itemid
) và theo mã ngày sản phẩm của nó ( proddte
).
select sum(qty), itemid, proddte
from testtable where ....
group by itemid, proddte
Những gì tôi muốn làm là để có được tổng số tất cả qty
bất kể itemid/proddte
. Tôi đã thử:
select sum(qty), itemid, proddte, sum(qty) over() as grandtotal
from testtable
where ....
group by itemid, proddte
Nhưng nó nói tôi cũng nên có qty
trong group by
mệnh đề. Nếu tôi làm điều đó, kết quả sẽ không bằng kết quả mong đợi của tôi.
Nó không hoàn toàn cần phải được biểu diễn dưới dạng một cột riêng biệt, với cùng một giá trị trong mỗi hàng. Bất kỳ đại diện nào được chấp nhận miễn là tôi có thể hiển thị tổng thể.
GROUP BY ROLLUP((itemid,proddte))
sẽ tạo ra kết quả tương tự và có thể ít gây nhầm lẫn hơn.