表数据
  code name  stock_price amount retail_price gain
  001   aa     11            1       15       4
  002   bb     10            1       13       2
  001   aa     11            1       15       4
  003   cc     15            1       19       4
  002   bb     10            1       13       2
显示结果要为
  code  name   stock_price  amout  retail_price  gain
  001    aa     11           2        15           8
  002    bb     10           2        13           4
  003    cc     15           1        19           4
这样的SQL语句应该怎么写?在线等候!

解决方案 »

  1.   

    SELECT sum(amount),sum(gain) FROM yourtable where code='001'
      

  2.   

    SELECT code,name,stock_price,sum(amount) amount,retail_price,sum(gain) gain 
    FROM table
    GROUP BY code,name,stock_price,retail_price
      

  3.   

    to keyz
    但是在显示的时候相同的记录还是显示多次啊,如何合并呢?
      

  4.   

    SELECT code,name,stock_price,sum(amount) amount,retail_price,sum(gain) gain 
    FROM table
    GROUP BY name
    order by code
    这样试试!
      

  5.   

    楼上的应该对了,问题解决,开心ing.
      

  6.   

    何必非要用SQL呢,用BatchMove不更方便吗?
      

  7.   

    keyz(keyz)的语句里前面那个name前回关健字distinct就行了
      

  8.   

    to  pingshx
    有三个语法错误
    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'Retail_Table.Code' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'Retail_Table.Stock_Price' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    服务器: 消息 8120,级别 16,状态 1,行 1
    列 'Retail_Table.Retail_Price' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  9.   

    to  yzf111,keys
    问题还是没有解决
      

  10.   

    SELECT code,name,stock_price,sum(amount) amount,retail_price,sum(gain) gain 
    FROM table
    GROUP BY name
    order by code
      

  11.   

    仔细看了一下,keyz(keyz)的语句是对的(按照上面的数据)
      

  12.   

    SELECT max(code),max(name),max(stock_price),sum(amount) amount,max(retail_price),sum(gain) gain 
    FROM table
    GROUP BY name
    order by code
      

  13.   

    把你读出的数据每行进行处理,只要code和下一条code一样,删!!知道最后!!!(没办法再用这招!)
      

  14.   

    SELECT code,name,max(stock_price),sum(amount) amount,max(retail_price),sum(gain) gain 
    FROM table
    GROUP BY code,name
    order by code
    这样肯定可以了。
    因为对应的CODE 和NAME 列是一致的,要不就是你的数据有问题了。
      

  15.   

    to qianguob(qianguob) 
    搞定,谢谢