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

    solution

    Đề bài: [MySQL] Ba chuyến xe doanh thu cao nhất tuần

    Nhà xe Hoàng Long tổng kết doanh thu từng chuyến trong tuần và muốn vinh danh 3 chuyến có doanh thu cao nhất. Nếu hai chuyến có doanh thu bằng nhau thì chuyến có ma_chuyen nhỏ hơn được xếp trên.

    Bảng chuyen_xe:

    Cột Kiểu Ý nghĩa
    ma_chuyen INT Mã chuyến (duy nhất)
    tuyen VARCHAR(100) Tên tuyến đường
    doanh_thu INT Doanh thu chuyến (đồng)

    Hãy trả về ma_chuyen, tuyen, doanh_thu của tối đa 3 chuyến đứng đầu theo thứ tự xếp hạng nói trên. Nếu bảng có ít hơn 3 chuyến thì in tất cả.

    Ví dụ. Với dữ liệu: (1, 'HN - Hai Phong', 2000000), (2, 'HN - Vinh', 3500000), (3, 'HN - Lao Cai', 3500000), (4, 'HN - Thanh Hoa', 1200000), (5, 'HN - Nam Dinh', 2500000) thì kết quả là:

    2	HN - Vinh	3500000
    3	HN - Lao Cai	3500000
    5	HN - Nam Dinh	2500000
    
    • Đị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 chuyen_xe.

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

      Số dòng của bảng ≤100\le 100≤100; 0≤doanh_thu≤1090 \le doanh\_thu \le 10^90≤doanh_thu≤109.

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

      Mỗi dòng gồm ma_chuyen, tuyen, doanh_thu cách nhau bởi ký tự TAB, không có dòng tiêu đề, tối đa 3 dòng.

    Ví dụ:

    Đầu vào:

    CREATE TABLE chuyen_xe (ma_chuyen INT, tuyen VARCHAR(100), doanh_thu INT);
    INSERT INTO chuyen_xe VALUES (1, 'HN - Hai Phong', 2000000), (2, 'HN - Vinh', 3500000), (3, 'HN - Lao Cai', 3500000), (4, 'HN - Thanh Hoa', 1200000), (5, 'HN - Nam Dinh', 2500000);

    Đầu ra:

    2	HN - Vinh	3500000
    3	HN - Lao Cai	3500000
    5	HN - Nam Dinh	2500000

    Giải thích:

    Hai chuyến 2 và 3 cùng đạt 3500000 nên chuyến 2 (mã nhỏ hơn) đứng trước; vị trí thứ ba thuộc về chuyến 5 với 2500000. Chỉ in đúng 3 dòng.

    Đang tải editor...