当前位置:编程学习 > C#/ASP.NET >>

怎么写这段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 --------------------编程问答--------------------
引用 1 楼 ziyouli 的回复:
select a, b, sum(c) from table group by a, b


重复的还是显示出来了 --------------------编程问答-------------------- 加个distinct进去:
select distinct a, b, sum(c) from table group by a, b


--------------------编程问答--------------------
引用 3 楼 ziyouli 的回复:
加个distinct进去:
select distinct a, b, sum(c) from table group by a, b


没用哦,加这个我试了 --------------------编程问答-------------------- 那只能说明你可能存在a字段相同,而b字段不同的数据,那如果是这样,你统计出来b字段要显示的是哪个? --------------------编程问答--------------------
引用 5 楼 ziyouli 的回复:
那只能说明你可能存在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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,