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

    solution

    Đề bài: [MySQL] Khách chi tiêu trên mức trung vị

    Nhà mạng muốn tìm những khách hàng có mức cước cao hơn trung vị của toàn bộ khách. Trung vị xác định bằng cách: một giá trị là trung vị nếu số phần tử nhỏ hơn hoặc bằng nó và số phần tử lớn hơn hoặc bằng nó đều >= một nửa.

    Bảng cuoc_thang:

    Cột Kiểu Ý nghĩa
    khach VARCHAR(20) Tên khách
    cuoc INT Cước tháng (nghìn đồng)

    Yêu cầu: tính trung vị bằng AVG của tập trung vị (xử lý cả số phần tử chẵn), rồi in khach, cuoc của khách có cuoc lớn hơn trung vị đó. Sắp xếp theo cuoc giảm dần, khach tăng dần.

    Ví dụ: tập 10/20/30 có trung vị 20, in khách cước 30.

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

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

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

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

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

      Mỗi dòng: khach, cuoc. Sắp xếp theo cuoc giảm dần, khach tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE cuoc_thang (khach VARCHAR(20), cuoc INT);
    INSERT INTO cuoc_thang VALUES ('An',10),('Binh',20),('Cuong',30);

    Đầu ra:

    Cuong	30

    Giải thích:

    Tập 10/20/30 có trung vị 20. Khách có cước > 20 là Cuong (30).

    Đang tải editor...