代码之家  ›  专栏  ›  技术社区  ›  gbt

SQL执行多记录、多列加法以返回单个数字

sql
  •  0
  • gbt  · 技术社区  · 4 年前

    我只是想知道是否有人能帮我对我正在运行的足球预测程序进行SQL查询。。我想加起来并返回当前值 total 我数据库中每个用户的得分。。正如你从我下面的例子中看到的,每周,每个用户都会得到一个分数和奖金。。。在下面的示例中,我有2个用户ID(65和52)。。。我为每个用户提供了3周的预测。。。看着第一个用户(65)。。在过去的三周里,他的得分分别为8、7和8。。加上在这3周内获得了1个加分。。。所以我想找到一个查询,为特定用户添加所有这些内容。。在userID 65的情况下,返回值为 24 (8+7+8+1 ). ...我一直在努力弄清楚如何最好地让这个工作。。。任何帮助或指导都将不胜感激

    userid,weekid,score,bonus
    65, 1, 8, 0
    65, 2, 7, 0
    65, 3, 8, 1
    ...
    52, 1, 9, 0
    52, 2, 7, 1
    52, 3, 8, 1
    
    0 回复  |  直到 4 年前
        1
  •  0
  •   The Impaler    4 年前

    您的问题很好:

    select userid, sum(score + bonus) from t group by userid;
    

    结果:

    userid  sum(score + bonus) 
    ------- ------------------ 
    52      26                 
    65      24                 
    

    请参阅运行示例 DB Fiddle .