将变量添加到 SQL 查询以获取每日结果



在我的模型中,我有以下查询,该查询平均$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  

最新更新