You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用单条SQL查询合并两张玩家积分表并按昵称求和?

可以通过单条SQL查询实现该需求

前提假设

假设两张表分别名为TableA和TableB(实际使用时替换为你的真实表名即可),结构如下:

TableA

NickNamePoints
Player 115
Player 28

TableB

NickNamePoints
Player 133
Player 222

实现SQL

使用UNION ALL合并两张表的所有数据,再按NickName分组求和即可得到目标结果:

SELECT NickName, SUM(Points) AS Points
FROM (
    SELECT NickName, Points FROM TableA
    UNION ALL
    SELECT NickName, Points FROM TableB
) AS CombinedData
GROUP BY NickName;

说明

  • UNION ALL会完整保留两张表的所有行(包括重复的用户记录),确保每个用户的所有积分都被纳入计算
  • 外层查询通过GROUP BY NickName聚合同一用户的记录,SUM(Points)直接计算该用户的总积分
  • 该方案兼容“某张表存在另一张表没有的用户”的场景:比如若TableA有Player3而TableB没有,结果中会显示Player3的积分等于TableA中的对应数值

执行结果

执行上述SQL后,将得到你期望的结果:

NickNamePoints
Player 148
Player 230

内容的提问来源于stack exchange,提问作者Andrea Piovesan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:07:09