Chuỗi cửa hàng tiện lợi WinMart+ muốn xếp hạng doanh thu các chi nhánh trong từng vùng miền để bình xét thi đua quý.
Bảng chinhanh:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| machi | INT | Mã chi nhánh |
| ten | NVARCHAR(50) | Tên chi nhánh |
| vung | NVARCHAR(20) | Vùng miền (Bac/Trung/Nam) |
| doanhthu | BIGINT | Doanh thu quý (đồng) |
Với mỗi vùng, hãy xếp hạng các chi nhánh theo doanh thu giảm dần bằng RANK(). In ra vùng, tên chi nhánh, doanh thu và thứ hạng trong vùng.
Ví dụ: trong vùng Bac, chi nhánh doanh thu cao nhất có hạng 1.
SETUP SQL tạo bảng chinhanh và chèn dữ liệu.
1 ≤ số chi nhánh ≤ 1000. doanhthu ≥ 0.
Mỗi dòng: vung, ten, doanhthu, hang. Sắp xếp theo vung tăng dần, doanhthu giảm dần, machi tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE chinhanh (machi INT, ten NVARCHAR(50), vung NVARCHAR(20), doanhthu BIGINT);
INSERT INTO chinhanh VALUES
(1, N'Cau Giay', N'Bac', 500000000),
(2, N'Dong Da', N'Bac', 500000000),
(3, N'Hai Chau', N'Trung', 300000000),
(4, N'Quan 1', N'Nam', 700000000),
(5, N'Quan 7', N'Nam', 450000000);
Đầu ra:
Bac Cau Giay 500000000 1
Bac Dong Da 500000000 1
Nam Quan 1 700000000 1
Nam Quan 7 450000000 2
Trung Hai Chau 300000000 1
Giải thích:
Đang tải editor...