table表    a字段    b字段   c字段把a字段相同的c字段值相加求和,不显示重复数据,并显示出a、b、c字段
如:a字段    b字段    c字段
张三      广州      1
张三      广州      1
张三      广州      1
李四      深圳      2
李四      深圳      2
显示出来的应该是:
a字段    b字段    c字段
张三      广州      3
李四      深圳      4

解决方案 »

  1.   

    select a, b, sum(c) from table group by a, b
      

  2.   

    加个distinct进去:
    select distinct a, b, sum(c) from table group by a, b
      

  3.   

    那只能说明你可能存在a字段相同,而b字段不同的数据,那如果是这样,你统计出来b字段要显示的是哪个?
      

  4.   


    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 行受影响)
    */
      

  5.   

    select distinct a, b, sum(c) from table group by a, b 支持1楼
      

  6.   

    把a字段相同的c字段值相加求和,不显示重复数据,并显示出a、b、c字段B字段怎么取,如果名字相同,地区不同哪名字对应的地址该取哪个>>????select a, max(b), sum(c) from table group by a
      

  7.   

    要想达到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 行受影响)
    */
      

  8.   

    select name,city, SUM(sid) from test1 group by name ,city
      

  9.   

    select  
    a字段,b字段,sum(c字段)
    from table表
    group by a字段,b字段