gpt4 book ai didi

MySQL 在两列中搜索值并求和第三列

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:01 25 4
gpt4 key购买 nike

在我的表“game_info”中有

ID | player_1 | player_2 | score
--------------------------------
1 | John | Rick | 100
2 | Joe | John | 80
3 | Bob | Rick | 210

我想计算每个玩家的总分,无论他们是 player_1 还是 player_2,并按分数排序。
我期望的是:

Name | Score
------------
Rick | 310
Bob | 210
John | 180
Joe | 80

我试过 JOIN 和 UNION,但我做对了。

有没有办法在 sql 中执行此操作,或者我必须重新设计我的表?

谢谢!

最佳答案

您可以使用union allgroup by 来做到这一点:

select player, sum(score)
from ((select player1 as player, score from game_info
) union all
(select player2 as player, score from game_info
)
) p
group by player
order by sum(score) desc;

关于MySQL 在两列中搜索值并求和第三列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48217231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com