一个名为jifen的数据库有四个字段如下id   name   ip    ddate
1     aa    1     2012-1-1 
2     bb    4     2012-1-26
3     aa    11    2012-2-3
4     cc    33    2012-1-3
5     aa    31    2012-1-5
6     bb    8     2012-2-4想按name求ip的和,但是有条件,是在2012-1-1 至2012-1-31之间的数据求和,我写的PHP中总是报错,原因在条件where这里,不知如何写,请高人指教!$sql="SELECT name,SUM(ip) FROM jifen GROUP BY name where jifen.ddate>='2012-1-1' and jifen.ddate<='2012-1-31'";

解决方案 »

  1.   

    $sql="SELECT name,SUM(ip) FROM jifen where jifen.ddate>='2012-1-1' and jifen.ddate<='2012-1-31' GROUP BY name";
      

  2.   

    $sql="SELECT `name`,SUM(ip) FROM jifen where ddate between '2012-1-1' and '2012-1-31' GROUP BY `name`";
      

  3.   

    语法上WHERE应该在GROUP之前。SELECT name,SUM(ip) 
    FROM jifen 
    where jifen.ddate>='2012-1-1' and jifen.ddate<='2012-1-31'
    GROUP BY name 
      

  4.   

    group by name 应在 where 条件之后