Sàn thương mại điện tử Tiki muốn lấy ra 2 sản phẩm bán chạy nhất (theo số lượng đã bán) trong mỗi danh mục để hiển thị mục "Đề xuất".
Bảng sanpham:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| masp | INT | Mã sản phẩm |
| ten | NVARCHAR(50) | Tên sản phẩm |
| danhmuc | NVARCHAR(30) | Danh mục |
| daban | INT | Số lượng đã bán |
Với mỗi danh mục, dùng ROW_NUMBER() đánh số theo daban giảm dần (tie-break theo masp tăng dần), rồi lấy các dòng có số thứ tự ≤ 2. In danhmuc, ten, daban.
SETUP SQL tạo bảng sanpham và chèn dữ liệu.
1 ≤ số sản phẩm ≤ 1000. daban ≥ 0.
Mỗi dòng: danhmuc, ten, daban. Sắp xếp theo danhmuc tăng dần, daban giảm dần, masp tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE sanpham (masp INT, ten NVARCHAR(50), danhmuc NVARCHAR(30), daban INT);
INSERT INTO sanpham VALUES
(1, N'Sach IT', N'Sach', 500),
(2, N'Sach Van', N'Sach', 300),
(3, N'Sach Toan', N'Sach', 200),
(4, N'Tai nghe', N'Dien tu', 800),
(5, N'Chuot', N'Dien tu', 600);
Đầu ra:
Dien tu Tai nghe 800
Dien tu Chuot 600
Sach Sach IT 500
Sach Sach Van 300
Giải thích:
Đang tải editor...