表结构如下
|ID |name| c | d | e | 
----------------------
| 1 | a  | 1 | 3 | 5 |
----------------------
| 2 | b  | 8 | 5 | 2 |
----------------------
| 3 | c  | 5 | 6 | 8 |
----------------------
| 4 | a  | 8 | 7 | 6 | 
----------------------
| 5 | b  | 4 | 8 | 9 |
----------------------就是假如表如上所示 怎么查询当name字段相同时 把name相同的行的的数据进行累加输出 
意思就是说name相同的字段只显示一次 但是后面的数据是累加后的数据,,,输出结果应该为
| a  | 9  | 10  | 11 | 
----------------------
| b  | 12 | 13  | 22 | 
----------------------
| c  | 5  | 6   | 8  | 
----------------------有没有高手知道啊急

解决方案 »

  1.   

    SELECT name, SUM(c) AS sc, SUM(d) AS sd, SUM(e) AS se FROM tablename WHERE 1 GROUP BY name
      

  2.   

      <?php 
    //$exec="select  * from results  where  oa_pqid='".$_SESSION['oa_pqid']."'  order by ID desc  "; 
    $exec="SELECT name, SUM(c) AS sc, SUM(d) AS sd, SUM(e) AS se FROM tablename WHERE 1 GROUP BY name   "; 
    $result=mysql_query($exec);
    while($ds=mysql_fetch_object($result))
    {
    ?>
    这里怎么输出 统计之后  name  c  d  e   这四个字段? ???
    <? } ?>
      

  3.   

    晕,tablename 是你的表名,应该没那么巧吧,就是这个???还有字段,是否就是name,c,d,e确认没问题了,如果不知道该怎么写while($ds=mysql_fetch_object($result))
    {
    var_dump($ds);//这样子打印一下,你就知道该怎么写了通常是$ds->name $ds->sc
    } ?>
      

  4.   

    分页和怎么显示没有关系,,,,每次查询时限制查询条数就行了...
    $exec="SELECT name, SUM(c) AS sc, SUM(d) AS sd, SUM(e) AS se FROM tablename WHERE 1 GROUP BY name limite 0,10  ";
    限制查询10条,0代表从第一条记录开始查....
      

  5.   

    如果是第n(n>=1)页就是
    假如每页显示m条记录
    呢么
    $kaishi=(n-1)*m;
    $exec="SELECT name, SUM(c) AS sc, SUM(d) AS sd, SUM(e) AS se FROM tablename WHERE 1 GROUP BY name limite $kaishi,$m  ";
    每次传递页码就可以了....
      

  6.   

    我想查询 累加之后的 条件怎么查
    比如我要查询 SUM(c) 的结果大于 多少 同时小于 多少的数据 
    在这条语句里怎么体现!