Công ty phân phối muốn báo cáo doanh số theo khu_vuc và quy, kèm một dòng tổng cộng ở cuối. Dùng WITH ROLLUP bọc trong bảng dẫn xuất để kết quả ổn định.
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| khu_vuc | VARCHAR(20) | Khu vực (Bac/Trung/Nam) |
| quy | INT | Quý (1-4) |
| doanh_so | INT | Doanh số (triệu VND) |
Ở dòng tổng, các cột nhóm NULL thay bằng 'TONG' / 0.
SETUP SQL tạo bảng doanhso và chèn dữ liệu.
Chỉ rollup ở mức tổng chung (không rollup theo từng khu vực để output đơn giản).
Các cột khu_vuc, quy, tong (tổng doanh_so theo nhóm); dòng tổng chung khu_vuc='TONG', quy=0. Sắp dòng thường lên trước, dòng tổng cuối.
Ví dụ:
Đầu vào:
CREATE TABLE doanhso (khu_vuc VARCHAR(20), quy INT, doanh_so INT);
INSERT INTO doanhso VALUES ('Bac',1,100),('Bac',2,150),('Nam',1,200);Đầu ra:
Bac 1 100
Bac 2 150
Nam 1 200
TONG 0 450
Giải thích:
Đang tải editor...