Công ty bảo hiểm muốn xếp các vụ bồi thường theo phân vị (percent rank) so với toàn bộ vụ trong cùng nghiệp vụ, để xác định vụ có mức bồi thường cao bất thường.
Bảng boi_thuong:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| mavu | INT | Mã vụ |
| nghiepvu | VARCHAR(20) | Nghiệp vụ (xe/suckhoe/...) |
| sotien | INT | Số tiền bồi thường (triệu đồng) |
Yêu cầu: in mavu, nghiepvu, sotien, phan_vi = PERCENT_RANK trong từng nghiệp vụ (làm tròn 2 chữ số). Sắp xếp theo nghiepvu, sotien tăng dần, mavu tăng dần.
Ví dụ: trong nghiệp vụ có 3 vụ 10/20/30 thì phân vị lần lượt là 0.00, 0.50, 1.00.
SETUP SQL tạo bảng boi_thuong và chèn dữ liệu.
sotien >= 0. Không dùng NOW/CURDATE.
Mỗi dòng: mavu, nghiepvu, sotien, phan_vi (ROUND 2). Sắp xếp theo nghiepvu, sotien, mavu tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE boi_thuong (mavu INT, nghiepvu VARCHAR(20), sotien INT);
INSERT INTO boi_thuong VALUES (1,'xe',10),(2,'xe',20),(3,'xe',30),(4,'suckhoe',5);
Đầu ra:
4 suckhoe 5 0.0
1 xe 10 0.0
2 xe 20 0.5
3 xe 30 1.0
Giải thích:
Đang tải editor...