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

    solution

    Đề bài: [SQL Server] Tỷ lệ doanh số nhân viên trong phòng

    Công ty bảo hiểm Bảo Việt muốn biết mỗi nhân viên kinh doanh đóng góp bao nhiêu phần trăm doanh số của phòng mình.

    Bảng nhanvien:

    Cột Kiểu Ý nghĩa
    manv INT Mã nhân viên
    hoten NVARCHAR(50) Họ tên
    phong NVARCHAR(30) Tên phòng
    doanhso BIGINT Doanh số hợp đồng (đồng)

    Tính tỷ lệ phần trăm doanh số của mỗi nhân viên so với tổng doanh số phòng (dùng SUM() OVER (PARTITION BY ...)), làm tròn 2 chữ số thập phân. In manv, hoten, phong, doanhso, tyle.

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

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

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

      Mỗi phòng có tổng doanh số > 0. 1 ≤ số nhân viên ≤ 1000.

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

      Mỗi dòng: manv, hoten, phong, doanhso, tyle (DECIMAL, phần trăm). Sắp xếp theo phong tăng dần, doanhso giảm dần, manv tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE nhanvien (manv INT, hoten NVARCHAR(50), phong NVARCHAR(30), doanhso BIGINT);
    INSERT INTO nhanvien VALUES
    (1, N'Le An', N'Nhan tho', 300000000),
    (2, N'Tran Binh', N'Nhan tho', 100000000),
    (3, N'Pham Cuong', N'Phi nhan tho', 200000000),
    (4, N'Vo Dung', N'Phi nhan tho', 200000000);

    Đầu ra:

    1	Le An	Nhan tho	300000000	75.000000000000000000
    2	Tran Binh	Nhan tho	100000000	25.000000000000000000
    3	Pham Cuong	Phi nhan tho	200000000	50.000000000000000000
    4	Vo Dung	Phi nhan tho	200000000	50.000000000000000000

    Giải thích:

    Phòng Nhan tho tổng 400tr: Le An chiếm 75.00%, Tran Binh 25.00%. Phòng Phi nhan tho tổng 400tr: mỗi người 50.00%.

    Đang tải editor...