我有下表(table_x):
GAME_ID | TEAM_ID | MATCH_GOALS | VICTORY
1 1 1 1
1 4 0 0
2 6 4 1
2 2 2 0
3 1 3 1
3 6 1 0
... ... ...
我一直在尝试创建一个SQL查询脚本,它从table_x中为我提供了一个新表(table_y),它合并了具有相同TEAM_ID和SUM的MATCH_GOALS以及它们的VICTORIES的行,如下所示:
TEAM_ID | TOTAL_GOALS | VICTORIES
1 4 2
2 2 0
4 0 0
6 5 1
... ... ...
然而,我没有成功,任何帮助表示赞赏!
Ps:我正在使用PostgreSQL 9.5
编辑:这是我尝试过的
SELECT
team_id,
COUNT(scoreboard.match_goals) AS total_goals
FROM(
SELECT
team_game.game_id,
team_game.team_id,
CASE
WHEN team_id = house_team THEN house_goals
ELSE visitor_goals
END as match_goals
FROM
public.team_game,
public.game
WHERE
team_game.game_id = game.game_id
ORDER BY
game.game_id ASC) as scoreboard
GROUP BY
team_id
ORDER BY
team_id;
答案 0 :(得分:0)
select a.*, b.victories
from
(select team_id, sum(match_goals) as total_goals from table_x group by team_id) as a
join
(select team_id, sum(victory) as victories from table_x group by team_id) as b
on a.team_id = b.team_id