Công ty du lịch muốn báo cáo doanh thu tour vừa theo vùng, vừa theo mùa, vừa tổng toàn bộ trong cùng một kết quả (mô phỏng GROUPING SETS bằng UNION ALL).
Bảng ban_tour:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| vung | VARCHAR(20) | Vùng (Bac/Trung/Nam) |
| mua | VARCHAR(10) | Mùa (he/dong) |
| doanhthu | INT | Doanh thu (triệu đồng) |
Yêu cầu: in nhom ('vung' hoặc 'mua' hoặc 'tong'), gia_tri (tên vùng/mùa, hoặc 'ALL' với dòng tổng), tong_dt.
Ví dụ: nhóm theo vùng cho từng vùng một dòng; nhóm theo mùa cho từng mùa một dòng; dòng tổng gộp tất cả.
SETUP SQL tạo bảng ban_tour và chèn dữ liệu.
doanhthu >= 0. Không dùng NOW/CURDATE.
Mỗi dòng: nhom, gia_tri, tong_dt. Sắp xếp theo nhom tăng dần, gia_tri tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE ban_tour (vung VARCHAR(20), mua VARCHAR(10), doanhthu INT);
INSERT INTO ban_tour VALUES ('Bac','he',100),('Bac','dong',50),('Nam','he',80);Đầu ra:
mua dong 50
mua he 180
tong ALL 230
vung Bac 150
vung Nam 80
Giải thích:
Đang tải editor...