Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

bagaimana cara menampilkan tabel klasemen dengan cepat dari tabel mysql hasil sepak bola [sepak bola]?

Pertama gabungkan tabel skor bersama-sama menukar tim tuan rumah dengan tim tamu dan menukar jumlah gol. Ini memberi Anda beberapa data sumber yang mudah dikumpulkan dan kueri untuk menghasilkan kartu skor adalah seperti ini:

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. Permintaan MySQL dengan pernyataan bersyarat?

  2. Apakah masuk akal untuk menggunakan indeks yang memiliki kardinalitas rendah?

  3. MySQL membuat database jika tidak ada

  4. Bagaimana cara menghitung persen?

  5. Mengambil data dengan struktur hierarki di MySQL