sql >> Databáze >  >> RDS >> Mysql

sql pro výpočet bodů za hry

Můžete to udělat pomocí UNION :

SELECT team, SUM(points) AS total_points
FROM (
  SELECT team_home AS team, 
         CASE 
            WHEN team_home_goals > team_away_goals THEN 3
            WHEN team_home_goals = team_away_goals THEN 1
            ELSE 0
         END AS points
  FROM games

  UNION ALL

  SELECT team_away AS team, 
         CASE 
            WHEN team_away_goals > team_home_goals THEN 3
            WHEN team_away_goals = team_home_goals THEN 1
            ELSE 0
         END AS points
  FROM games ) AS t
GROUP BY team
ORDER BY total_points DESC

Ukázka zde




  1. Jak vytvořit funkci PL/SQL v databázi Oracle

  2. Seřaďte podle maximální hodnoty ve třech různých sloupcích

  3. Jednoduchý systém hodnocení líbí/nelíbí v PHP a MySQL

  4. Cloud Vendor Deep-Dive:PostgreSQL v Microsoft Azure