Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [MySQL] Doanh thu tour theo vùng và theo mùa

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

    • Định dạng đầu vào:

      SETUP SQL tạo bảng ban_tour và chèn dữ liệu.

    • Ràng buộc đầu vào:

      doanhthu >= 0. Không dùng NOW/CURDATE.

    • Định dạng đầu ra:

      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:

    Theo vùng: Bac=150, Nam=80. Theo mùa: he=180, dong=50. Tổng: ALL=230.

    Đang tải editor...