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

    solution

    Đề bài: [MySQL] Tỉ trọng doanh thu từng ngành hàng

    Chuỗi siêu thị MegaMart Việt Nam cần báo cáo cơ cấu doanh thu: mỗi ngành hàng chiếm bao nhiêu phần trăm tổng doanh thu toàn hệ thống.

    Bảng ban_hang:

    Cột Kiểu Ý nghĩa
    ma_don INT Mã đơn bán (duy nhất)
    nganh VARCHAR(50) Ngành hàng
    doanh_thu INT Doanh thu của đơn (đồng)

    Với mỗi ngành, hãy tính tong (tổng doanh thu của ngành) và ti_trong (phần trăm so với tổng toàn hệ thống, làm tròn 2 chữ số thập phân). Kết quả gồm nganh, tong, ti_trong, sắp xếp theo tong giảm dần, nếu bằng nhau theo nganh tăng dần. Dữ liệu luôn có tổng doanh thu toàn hệ thống lớn hơn 0.

    Ví dụ. Với dữ liệu: (1, 'Dien tu', 600000), (2, 'Thoi trang', 300000), (3, 'Dien tu', 400000), (4, 'Gia dung', 100000) thì kết quả là:

    Dien tu	1000000	71.43
    Thoi trang	300000	21.43
    Gia dung	100000	7.14
    
    • Định dạng đầu vào:

      Một kịch bản SQL gồm các lệnh CREATE TABLE và INSERT tạo dữ liệu cho bảng ban_hang.

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

      Số dòng của bảng ≤300\le 300≤300; 0≤doanh_thu≤1080 \le doanh\_thu \le 10^80≤doanh_thu≤108; tổng doanh thu toàn bảng >0> 0>0.

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

      Mỗi dòng gồm nganh, tong, ti_trong cách nhau bởi ký tự TAB, không có dòng tiêu đề. ti_trong có đúng 2 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    CREATE TABLE ban_hang (ma_don INT, nganh VARCHAR(50), doanh_thu INT);
    INSERT INTO ban_hang VALUES (1, 'Dien tu', 600000), (2, 'Thoi trang', 300000), (3, 'Dien tu', 400000), (4, 'Gia dung', 100000);

    Đầu ra:

    Dien tu	1000000	71.43
    Thoi trang	300000	21.43
    Gia dung	100000	7.14

    Giải thích:

    Tổng toàn hệ thống là 1400000. Ngành Điện tử đạt 1000000, chiếm 1000000 × 100 / 1400000 ≈ 71.43%; Thời trang chiếm 21.43% và Gia dụng 7.14%.

    Đang tải editor...