由另一列分组的SQL求和列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由另一列分组的SQL求和列相关的知识,希望对你有一定的参考价值。

我对SQL很新,这已经让我感到困惑了一段时间!

我开始时需要通过playerID聚合一堆列。

+-----------+------------+---------------+--------+
| playerID  |  AA        | BB            | CC     |
+-----------+------------+---------------+--------+
|      Adam | 5          | 2             |     10 |
|      Josh | 12         | 3             |     10 |
|       Sam | 8          | 5             |     15 |
|      Adam | 2          | 5             |     25 |
|       Sam | 4          | 4             |      5 |
|      Josh | 10         | 3             |      6 |
|       Adam| 4          | 2             |      7 |
+-----------+------------+---------------+--------+

理想情况下,最终结果将为每个玩家总结AA,BB和CC并给出类似的东西

| playerID  |  AA        | BB            | CC     |
+-----------+------------+---------------+--------+
|      Adam | 11         | 9             |     42 |
|      Josh | 22         | 6             |     16 |
|       Sam | 12         | 9             |     20 |
+-----------+------------+---------------+--------+

我设法至少将同名的记录组合在一起

SELECT playerID, COUNT(*) c FROM playertable GROUP BY playerID

但是我不确定如何将记录分组后如何正确地加总。任何帮助将不胜感激!!

答案

使用SUM()聚合函数。

SELECT playerID, 
       SUM(AA) AS AA, 
       SUM(BB) AS BB, 
       SUM(CC) AS CC
FROM playertable 
GROUP BY playerID

这是一个Demo

以上是关于由另一列分组的SQL求和列的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server:按分组列求和并按另一列排序

根据由另一列分组的不同列的最大值获取值[重复]

计算同一列之间的差异,在python中由另一列分组的连续行

Pyspark数据框:对一列求和,同时对另一列进行分组

如何对另一列的分组中的一列求和?

SQL(Postgres)为列表参数中的每个项目获取一行,其优先顺序由另一列指定