怎么写这段SQL语句,求和并显示出多个字段值???
table表 a字段 b字段 c字段把a字段相同的c字段值相加求和,不显示重复数据,并显示出a、b、c字段
如:
a字段 b字段 c字段
张三 广州 1
张三 广州 1
张三 广州 1
李四 深圳 2
李四 深圳 2
显示出来的应该是:
a字段 b字段 c字段
张三 广州 3
李四 深圳 4 --------------------编程问答-------------------- select a, b, sum(c) from table group by a, b --------------------编程问答--------------------
重复的还是显示出来了 --------------------编程问答-------------------- 加个distinct进去:
select distinct a, b, sum(c) from table group by a, b
--------------------编程问答--------------------
没用哦,加这个我试了 --------------------编程问答-------------------- 那只能说明你可能存在a字段相同,而b字段不同的数据,那如果是这样,你统计出来b字段要显示的是哪个? --------------------编程问答--------------------
DECLARE @table TABLE
(
a字段 VARCHAR(10),
b字段 VARCHAR(10),
c字段 INT
)
INSERT INTO @table
SELECT '张三', '广州',1 UNION ALL
SELECT '张三', '广州',1 UNION ALL
SELECT '张三', '广州',1 UNION ALL
SELECT '李四', '深圳',2 UNION ALL
SELECT '李四', '深圳',2
SELECT a字段 ,b字段,SUM(c字段) c字段 FROM @table GROUP BY a字段,b字段
/*
a字段 b字段 c字段
---------- ---------- -----------
张三 广州 3
李四 深圳 4
(2 行受影响)
*/
--------------------编程问答-------------------- select distinct a, b, sum(c) from table group by a, b 支持1楼 --------------------编程问答-------------------- 把a字段相同的c字段值相加求和,不显示重复数据,并显示出a、b、c字段
B字段怎么取,如果名字相同,地区不同哪名字对应的地址该取哪个>>????
select a, max(b), sum(c) from table group by a --------------------编程问答-------------------- 要想达到LZ的效果的话,那么则是关系到数据库字段求和的问题,也就是每列的值求和的问题,我们可以这样写:
DECLARE @table TABLE
(
a字段 VARCHAR(10),
b字段 VARCHAR(10),
c字段 INT
)
INSERT INTO @table
SELECT '张三', '广州',1 UNION ALL
SELECT '张三', '广州',1 UNION ALL
SELECT '张三', '广州',1 UNION ALL
SELECT '李四', '深圳',2 UNION ALL
SELECT '李四', '深圳',2
SELECT a字段 ,b字段,SUM(c字段) c字段 FROM @table GROUP BY a字段,b字段
/*
a字段 b字段 c字段
---------- ---------- -----------
张三 广州 3
李四 深圳 4
(2 行受影响)
*/
--------------------编程问答-------------------- select name,city, SUM(sid) from test1 group by name ,city --------------------编程问答-------------------- select
a字段,b字段,sum(c字段)
from table表
group by a字段,b字段
--------------------编程问答--------------------
补充:.NET技术 , C#