Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

làm thế nào để xuất một bảng xếp hạng nhanh chóng từ một bảng mysql của kết quả bóng đá [bóng đá]?

Đầu tiên hợp nhất bảng tỷ số với nhau hoán đổi đội chủ nhà với đội khách và hoán đổi số bàn thắng. Điều này cung cấp cho bạn một số dữ liệu nguồn có thể dễ dàng tổng hợp và truy vấn để tạo thẻ điểm giống như sau:

select 
    team, 
    count(*) played, 
    count(case when goalsfor > goalsagainst then 1 end) wins, 
    count(case when goalsagainst> goalsfor then 1 end) lost, 
    count(case when goalsfor = goalsagainst then 1 end) draws, 
    sum(goalsfor) goalsfor, 
    sum(goalsagainst) goalsagainst, 
    sum(goalsfor) - sum(goalsagainst) goal_diff,
    sum(
          case when goalsfor > goalsagainst then 3 else 0 end 
        + case when goalsfor = goalsagainst then 1 else 0 end
    ) score 
from (
    select hometeam team, goalsfor, goalsagainst from scores 
  union all
    select awayteam, goalsagainst, goalsfor from scores
) a 
group by team
order by score desc, goal_diff desc;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lỗi MySQL:Kích thước cột tối đa là 767 byte

  2. Kích hoạt MySQL Trên các sự kiện Chèn / Cập nhật

  3. Ràng buộc khóa ngoại Bogus không thành công

  4. MySQL xóa nhiều hàng trong một điều kiện truy vấn duy nhất cho mỗi hàng

  5. Truy vấn SQL để xóa bảng trong MySQL