在我的模型中,我有以下查询,该查询平均$probe值小时由我们在数据库中可用的最后一天。
$connection=Yii::app()->db;
$command=$connection->createCommand("SELECT AVG($probe), TIME FROM tbl_sensors GROUP BY DATE(TIME), HOUR(TIME) ORDER BY ID DESC LIMIT 0, 24");
$dataReader=$command->query();
现在我想修改此查询以获取昨天、前天等的结果。
我的第一个想法是添加一个由控制器修改 LIMIT 参数的变量。虽然以下几点:
SELECT AVG($probe), TIME FROM tbl_sensors GROUP BY DATE(TIME), HOUR(TIME) ORDER BY ID DESC LIMIT 24, 48
返回 48 个值而不是 24 个值。我不明白这是为什么?
欢迎任何指针
LIMIT 24, 48
并不意味着从24到48。 它的意思是从 24 到 (24+48)。
如果我换一种说法,它从 24 开始,得到 48 条记录.
LIMIT 24, 24
http://dev.mysql.com/doc/refman/5.1/en/select.html
但我建议你使用WHERE
SELECT AVG($probe), TIME FROM tbl_sensors
WHERE `TIME` BETWEEN ... AND ...
GROUP BY DATE(TIME), HOUR(TIME)
ORDER BY ID DESC LIMIT 0, 24