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

    solution

    Đề bài: [SQL Server] Top 3 sản phẩm bán chạy

    Shop thời trang online Mèo Mặc Đẹp thống kê số lượng đã bán của từng sản phẩm trong bảng sanpham:

    Cột Kiểu Ý nghĩa
    ma INT mã sản phẩm
    ten NVARCHAR(100) tên sản phẩm
    daban INT tổng số lượng đã bán

    Hãy in ra 3 sản phẩm bán chạy nhất (số lượng đã bán nhiều nhất). Nếu hai sản phẩm bán bằng nhau thì sản phẩm có mã nhỏ hơn xếp trước. Nếu bảng có ít hơn 3 sản phẩm thì in tất cả.

    Ví dụ: với 6 sản phẩm có daban lần lượt 120, 95, 120, 80, 150, 30 thì top 3 là sản phẩm bán 150, rồi hai sản phẩm bán 120 (mã nhỏ trước).

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

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

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

      1≤1 \le1≤ số dòng ≤100\le 100≤100; 0≤daban≤1060 \le daban \le 10^60≤daban≤106.

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

      Tối đa 3 dòng, mỗi dòng gồm: ma, ten, daban — sắp xếp theo daban giảm dần, rồi ma tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sanpham (ma INT, ten NVARCHAR(100), daban INT);
    INSERT INTO sanpham VALUES (1, N'Ao thun nam', 120),(2, N'Quan jean', 95),(3, N'Ao khoac du', 120),(4, N'Vay hoa nhi', 80),(5, N'Ao so mi trang', 150),(6, N'Khan choang', 30);

    Đầu ra:

    5	Ao so mi trang	150
    1	Ao thun nam	120
    3	Ao khoac du	120

    Giải thích:

    Sắp giảm dần theo daban: 150 (ma 5), 120 (ma 1 và ma 3 — mã nhỏ xếp trước). TOP 3 lấy đúng ba dòng: (5, Ao so mi trang, 150), (1, Ao thun nam, 120), (3, Ao khoac du, 120).

    Đang tải editor...