要么“为” 家 </跨度> 团队“或”离开团队“。我可以运行这个查询两次,然后在其他地方总结点数。但我想知道是否有 聪明 </跨度> 通往只在一个查询中执行所有操作。这就是我现在所拥有的(我运行两次,首先是为了 家 </跨度> 团队,然后为客队):
选择team_home,和(案件当team_home_goals&gt; team_away_goals然后3当team_home_goals = team_away_goals然后1当team_home_goals&lt; team_away_goals然后0结束)作为要点从游戏team_home分组;
你可以用它来做 UNION :
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
的 在这里演示 强>