日期:2014-05-16  浏览次数:20734 次

高人进!group by求和问题
一个名为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'";

------解决方案--------------------
$sql="SELECT name,SUM(ip) FROM jifen where jifen.ddate>='2012-1-1' and jifen.ddate<='2012-1-31' GROUP BY name";
------解决方案--------------------
SQL code
$sql="SELECT `name`,SUM(ip) FROM jifen where ddate between '2012-1-1' and '2012-1-31' GROUP BY `name`";

------解决方案--------------------
语法上WHERE应该在GROUP之前。

SQL code
SELECT name,SUM(ip) 
FROM jifen 
where jifen.ddate>='2012-1-1' and jifen.ddate<='2012-1-31'
GROUP BY name

------解决方案--------------------
group by name 应在 where 条件之后