我需要特定 team_id 的目标总和
例如:
如果 team_id 16 分别进了第 6 球和第 2 球,则另一个新列 sum_goal 中的总和将为 8
我无法继续。请帮忙。
我尝试过的查询是:
选择 ( match_id, Sum(目标) 来自 ( 从 match_result_updation 中选择 team1_id ID、team1_goal 目标 联合所有 从 match_result_updation 中选择 team2_id ID、team2_goal 目标 )
as A)
来自
(选择
c.tournament_id , g.*
来自 team_tropies d
内部联接
锦标赛_比赛 e
在
e.tournament_id = d.tournament_id
内部联接
比赛安排c
在
c.tournament_id = e.tournament_id
内部联接
匹配 f
在
f.match_id = c.id
内部联接
匹配结果更新g
在
g.match_id = f.id
在哪里
f.match_type = '锦标赛'
和
d.tournament_id = 1) 作为 p
按 match_id 分组
从第二次选择到 id = 1,我得到了附件图片中的输出,但我无法找到每个 team_id 的目标总和。 此外,如果 teamid 16 或 17,则 team1 或 team2 相应的目标总和将被计算。
最佳答案
我的第一个想法是将它们放入类似的列中,然后求和。 编辑任何 SQL 引擎
Select ID, Sum(Goal) From
(
Select Team1_ID ID, Team1_Goal Goal From Table
Union All
Select Team2_ID ID, Team2_Goal Goal From Table
) A
Group By ID
ps 如果表设计标准化,则不需要这种解决方法。
关于mysql - 在 MYSQL 中查找 2 个不同列中特定 id 的最大值(总和),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438264/