1

我有这个

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 在那里

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

请帮忙谢谢

4

2 回答 2

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

输出:

| 身份证 | 价值 |
|----|-------|
| 1 | 6 |
| 2 | 3 |
| 1 | 6 |
| 1 | 6 |

这是SQLFiddle演示

于 2013-08-26T07:13:14.703 回答
1

天真的方法是:

select id, (select sum(value) from tbl where id = t1.id) value
from tbl t1
于 2013-08-26T07:13:21.807 回答