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

    solution

    Đề bài: [SQL Server] Trung vị lương theo phòng ban

    Phòng nhân sự một tập đoàn muốn tính trung vị (median) lương của từng phòng ban từ bảng nhanvien, dùng PERCENTILE_CONT(0.5).

    Cột Kiểu Ý nghĩa
    phongban nvarchar(30) Tên phòng ban
    hoten nvarchar(50) Họ tên
    luong int Lương (nghìn đồng)

    Tính trungvi_luong là trung vị lương mỗi phòng ban, làm tròn 2 chữ số thập phân.

    Ví dụ phòng có lương 10, 20, 30 thì trung vị = 20.00; phòng có lương 10, 20 thì trung vị = 15.00.

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

      SETUP SQL tạo bảng nhanvien và chèn lương nhân viên theo phòng ban.

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

      luong ≥ 0. Mỗi phòng ban có ít nhất 1 nhân viên. Kết quả ROUND(...,2).

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

      Hai cột: phongban, trungvi_luong (DECIMAL 2 chữ số). Sắp xếp theo phongban tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE nhanvien (phongban nvarchar(30), hoten nvarchar(50), luong int);
    INSERT INTO nhanvien VALUES
    (N'Ky thuat',N'An',10),(N'Ky thuat',N'Binh',20),(N'Ky thuat',N'Cuong',30),
    (N'Ke toan',N'Dung',10),(N'Ke toan',N'Em',20);

    Đầu ra:

    Ke toan	15.00
    Ky thuat	20.00

    Giải thích:

    Phòng Ky thuat có 3 lương 10,20,30 nên trung vị = 20.00. Phòng Ke toan có 2 lương 10,20 nên trung vị = (10+20)/2 = 15.00.

    Đang tải editor...