获取存在于多行和两列MySql PHP中的团队的得分总和

Posted

技术标签:

【中文标题】获取存在于多行和两列MySql PHP中的团队的得分总和【英文标题】:Get Sum of score of a team which is present in multiple rows and two columns MySql PHP 【发布时间】:2020-04-23 20:08:03 【问题描述】:

我想获得一个团队的总分,该团队可以在多行和 2 列中(1:FirstTeamName,2:SecondTeamName)对于任何给定的 EventName 最高。 这将是一个 php 函数,仅给出 eventName 作为参数

例如:在这种情况下,Team 2 的总分 = 1+4+3 = 8

谢谢

【问题讨论】:

【参考方案1】:

您可以取消透视和聚合:

select eventname, team, sum(score)
from ((select eventname, firstteamname as team, firstteamscore as score
       from t
      ) union all
      (select eventname, secondteamname as team, secondteamscore as score
       from t
      ) 
     ) t
group by eventname, team;

如果您想过滤特定事件,我建议您在两个子查询中这样做。

【讨论】:

戈登先生,这个查询完美!我不得不用 php 做一个非常漫长和昂贵的工作来实现这个结果,现在我将替​​换它。非常感谢!

以上是关于获取存在于多行和两列MySql PHP中的团队的得分总和的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 和两列 (1 -> n)

如何从mysql中的得分表中获取每场比赛的3个第一名?

PHP, mysqli 数组

在 MySQL 或 PHP 中连接多行

使用 PHP 在一个 MySQL 查询中获取多行的最佳方法是啥? [复制]

如何使用此函数从 mysql 和 PHP 获取多行