Mysql 如何将多个栏目的记录进行汇总,并在同一时间进行清晰的选择?

Mysql 如何将多个栏目的记录进行汇总,并在同一时间进行清晰的选择?,mysql,sql,Mysql,Sql,我有一张桌子放着这些东西 Column_1 | Column_2 | Column_3 | Column_4 ------------------------------------------ John1 1 1 2 John1 3 2 2 John1 2 3 2 Eric 4

我有一张桌子放着这些东西

Column_1 | Column_2 | Column_3 | Column_4
------------------------------------------
John1        1         1            2        
John1        3         2            2    
John1        2         3            2    
Eric         4         2            2
Eric         4         7            2    
Christina    1         2            2
Christina    1         2            3
我想做几件事:

1我想获取列_1中的所有记录,但不想重复名称。例如,我知道我可以从MyTable中选择一个不同的列_1来实现这一点。作为回报,我将得到:约翰、埃里克、克里斯蒂娜

2我还想加上每一列的总数,我知道我可以通过从我的表格中的SELECT*中选择SUMColumn_2,其中列_1=John1作为p1来实现这一点。作为回报,我将得到:6

3我还想对第3列和第4列做同样的处理,其中第1列等于上面的某个标准

问题是:我如何在一个查询中实现所有这三个查询,这是可能的吗

我的最终结果应该如下所示:

John1      6    6    6
Eric       8    9    4
Christina  2    4    5
您可以使用group by Column1并对要聚合的列求和来完成此操作

select 
    Column_1
  , sum(Column_2) as sumColumn_2
  , sum(Column_3) as sumColumn_3
  , sum(Column_4) as sumColumn_4
from t
group by Column_1
rextester演示:

返回:

+-----------+-------------+-------------+-------------+
| Column_1  | sumColumn_2 | sumColumn_3 | sumColumn_4 |
+-----------+-------------+-------------+-------------+
| Christina |           2 |           4 |           5 |
| Eric      |           8 |           9 |           4 |
| John1     |           6 |           6 |           6 |
+-----------+-------------+-------------+-------------+

“先生,你是救命恩人!”玉莎很乐意帮忙!