Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL\如何对另一列上具有相同值的两列中的值求和?_Mysql_Sql_Database_Join - Fatal编程技术网

MySQL\如何对另一列上具有相同值的两列中的值求和?

MySQL\如何对另一列上具有相同值的两列中的值求和?,mysql,sql,database,join,Mysql,Sql,Database,Join,我对MySQL非常陌生,只知道基本的CRUD查询 host_team和guest_team中的值表示团队的唯一id 我想做的是总结所有的目标,无论该团队属于哪个专栏 所以结果应该是[10:0,20:4,30:3,40:0,50:4] 我的方法是在主客队价值相同的情况下,将主客队目标的价值相加 因为我对MySQL非常不了解,所以我不知道从哪里开始 在这种情况下,最好的方法是什么?我们可以通过工会做到这一点: SELECT team, SUM(goals) AS goals FROM (

我对MySQL非常陌生,只知道基本的CRUD查询

host_team和guest_team中的值表示团队的唯一id

我想做的是总结所有的目标,无论该团队属于哪个专栏

所以结果应该是
[10:0,20:4,30:3,40:0,50:4]

我的方法是在主客队价值相同的情况下,将主客队目标的价值相加

因为我对MySQL非常不了解,所以我不知道从哪里开始


在这种情况下,最好的方法是什么?

我们可以通过工会做到这一点:

SELECT team, SUM(goals) AS goals
FROM
(
    SELECT host_team AS team, host_goals AS goals FROM yourTable
    UNION ALL
    SELECT guest_team, guest_goals FROM yourTable
) t
GROUP BY team;

我们可以通过工会做到这一点:

SELECT team, SUM(goals) AS goals
FROM
(
    SELECT host_team AS team, host_goals AS goals FROM yourTable
    UNION ALL
    SELECT guest_team, guest_goals FROM yourTable
) t
GROUP BY team;

你能在代码块而不是图像中发布表格吗?而且,我在任何时候都看不到你的结果中提到的团队40。你的预期输出与样本数据不一致。可能是样本数据被截断了,或者是您复制错误了。您可以在代码块而不是图像中发布该表吗?此外,我在任何时候都不会看到结果中提到的团队40。您的预期输出与样本数据不一致。可能是样本数据被截断了,或者是你复制错了。我是不是做错事了,我试着计算出一个数据库小提琴,并试图与他的结果进行比较,而不是尽快发出一个查询作为答案?@FrankerZ不,你是对的。出于某种原因,我想我检查了几个团队,并确信输出是有意义的。事实并非如此,但我认为我的答案正是OP真正想要的。不过,很遗憾,我做错事了,我试着做了一个db小提琴,并试图与他的结果进行比较,而不是尽快发出一个查询作为答案?@FrankerZ不,你是对的。出于某种原因,我想我检查了几个团队,并确信输出是有意义的。没有,但我想我的答案是OP真正想要的。尽管如此,还是很遗憾