mysql - 如何将一个表中两列的总和加在一起,同时我会为两者都出现

标签 mysql

一个例子是这样的; 我有一个名为比赛结果的表格,它给了我个人球员的分数(分为主场和客场)

就像我有一个名为

的专栏
ID       Playerhome   Playeraway Homepoints away points


1        P01          P02        4          7
2        P03          p04        5          6
3        P05          P06        3          8
4        P07          p08        2          9

5        P02          P04        8          3
6        P06          P08        1          10

所以我想要一个查询,它将添加每个球员的 homePoints 列的总和和 awayPoints 的总和,因为你可以看到球员 p02 出现在主场和客场,所以我希望它对每个球员的两条记录求和玩家...

所以查询结果会是这样的:

Playerid    Total points

Po1         4
Po2         15
Po3         5
Po4         9

我能够得到第一个结果,但是作为进一步归一化的结果 我删除了主场球员和客场球员,然后将他们的积分存储在另一张 table 上......所以现在我有这样的东西:

playerfixture:
playerHOME       playerAway
p1               p2
p3               p4
p2               p3

然后下一个表存储他们的积分

points
homepoints        away points
4                 7
8                 3
9                 2

所以现在,请请求一个查询,该查询将对积分表中 2 列的积分求和并将其显示在它所指的球员旁边

所以查询的结果会是这样

result:
player    totalpoints
p1        4
p2        16
p3        10

最佳答案

SELECT  player, SUM(points)
FROM    (
        SELECT  playerhome player, homepoints points
        FROM    mytable
        UNION ALL
        SELECT  playeraway player, awaypoints points
        FROM    mytable
        ) q
GROUP BY
        player

关于mysql - 如何将一个表中两列的总和加在一起,同时我会为两者都出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610916/

相关文章:

php - MySql Server 的奇怪案例已经消失

mysql - 无法从 AWS Lambda 连接到默认 VPC 中的 AWS RDS 实例

mysql - 无法在 MySQL 中修剪() Char(195)

mysql - 如何在每次执行 SQL 查询时选择随机唯一记录

php - 选择 SQL 上方和下方的行

php - 如果用户也使用 php 选择了用户名,则在 MySQL 表列中输入用户名

cs-cart中的mysql查询

php - 无法以管理员身份登录 WordPress

MySQL Workbench 删除之前为表定义的触发器

mysql - 用于复制数据行的 SQL 语句