Mysql查询求和值为多行

时间:2013-08-26 07:08:31

标签: mysql

我有这个

id    value
-----!-----
 1      3
 2      3
 1      2
 1      1

我尝试过使用

SELECT id,sum(value) FROM table GROUP BY id 

但它显示了不同的东西。

   id   ! value
  --------------   
   1        6
   2        3 

我想根据他们的身份添加值,但要保持id

 id   ! value
--------------   
 1      6
 2      3
 1      6
 1      6

请帮忙 谢谢

2 个答案:

答案 0 :(得分:3)

你在找这个吗?

SELECT t.id, q.value
  FROM Table1 t JOIN
(
  SELECT id, SUM(value) value
    FROM Table1
   GROUP BY id
) q ON t.id = q.id

输出:

| ID | VALUE |
|----|-------|
|  1 |     6 |
|  2 |     3 |
|  1 |     6 |
|  1 |     6 |

这是 SQLFiddle 演示

答案 1 :(得分:1)

天真的做法是:

select id, (select sum(value) from tbl where id = t1.id) value
from tbl t1