MySql Sum with Case查询输出另一个表

时间:2016-02-02 07:55:31

标签: mysql

我有一个像这样的表table1。

    +---------+-------+
    | name    | Value | 
    +---------+-------+
    |       a | 1     | 
    |       b | 3     |
    |       a | 1     |
    |       d | 4     |
    |       c | 4     |
    |       d | 2     |
    +---------+-------+

我需要创建另一个表,该表具有不同的名称和值的总和,其名称与上一个表中的名称相同,如下所示。

+---------+-------+
| name    | Value | 
+---------+-------+
|       a | 2     | 
|       b | 3     |
|       c | 4     |
|       d | 6     |
+---------+-------+

我已经尝试了查询

SELECT Distinct t1.name, SUM (Case when t1.Name = t2.Name then t1.Value end) 
from table1 t1 join table1 t2 

似乎不起作用。

我正在使用c#构建一个桌面应用程序来访问输出表中的这些值,我可以通过简单地使用linq而不是服务器端查询轻松获得所需的结果。让桌面应用程序实现这一点而不是在数据库中创建表是一种好习惯吗?

1 个答案:

答案 0 :(得分:1)

你可以试试

select name, sum(Value)
from yourtable
group by name

<强> Sql Fiddle Demo