Mysql
 sql >> база данни >  >> RDS >> Mysql

sql за изчисляване на точки за игри

Можете да го направите с помощта на 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

Демо тук




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявката за Spring Data не работи, когато параметърът на заявката е обект

  2. Защо mysql_connect не се насърчава и какви са алтернативите?

  3. MySQL високо използване на процесора

  4. MySQL - Извличане на най-ниската стойност

  5. Пример за това как да използвате bind_result срещу get_result