Ban tổ chức một giải bóng đá lưu kết quả từng trận. Mỗi đội được 3 điểm nếu thắng, 1 nếu hòa, 0 nếu thua. Hãy dùng các CTE nối tầng để: (1) tách kết quả thành điểm của từng đội, (2) cộng tổng điểm, (3) xếp hạng.
Bảng tran_dau:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| doi_nha | VARCHAR(20) | Đội nhà |
| doi_khach | VARCHAR(20) | Đội khách |
| ban_nha | INT | Bàn thắng đội nhà |
| ban_khach | INT | Bàn thắng đội khách |
Yêu cầu: in doi, tong_diem. Sắp xếp theo tong_diem giảm dần, doi tăng dần.
Ví dụ: đội nhà thắng 2-1 thì đội nhà +3, đội khách +0.
SETUP SQL tạo bảng tran_dau và chèn dữ liệu.
ban_nha, ban_khach >= 0. Không dùng NOW/CURDATE.
Mỗi dòng: doi, tong_diem. Sắp xếp theo tong_diem giảm dần, doi tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE tran_dau (doi_nha VARCHAR(20), doi_khach VARCHAR(20), ban_nha INT, ban_khach INT);
INSERT INTO tran_dau VALUES ('Ha Noi','Hai Phong',2,1),('Hai Phong','Da Nang',0,0),('Ha Noi','Da Nang',1,1);Đầu ra:
Ha Noi 4
Da Nang 2
Hai Phong 1
Giải thích:
Đang tải editor...