MYSQL GROUP BY查询结果似乎限制为31

时间:2014-07-08 19:42:43

标签: php mysql group-by

我有一个Raspberry Pi温度监控系统设置,一切运行正常,除了我现在注意到我的每日最小,最大和AVG查询没有显示超过31个结果。问题似乎与GROUP BY语句有关,当我将天数限制为小于31的任何数据时,我会获得所有最新数据,但除此之外,它只会显示31个最早的数据日。我有一个图表,应该显示每天的MIN,MAX和AVG温度。

请有人帮助我。

有了这个,它只会显示2014年5月26日(我记录的第一天)到2014年6月27日的数据并停在那里:

SELECT DATE_FORMAT(date,'%d') AS date2, 
   MAX(temperature), 
   MAX(temp2), MIN(temperature), 
   MIN(temp2), AVG(temperature), AVG(temp2) 
FROM data
GROUP BY date2
ORDER BY id ASC

有了它,它将显示最近31天的数据(从今天减去30天) - 不是我想要的:

mysql_select_db("mysensors", $con);
$result = mysql_query("SELECT DATE_FORMAT(date,'%W %e %b %Y') AS date,
                              MAX(temperature), 
                              MAX(temp2), MIN(temperature), MIN(temp2),
                              AVG(temperature), AVG(temp2) 
                FROM data
                WHERE DATE(`date`) > DATE_SUB(NOW(), INTERVAL 30 DAY)
                GROUP BY DAY(date)
                ORDER BY id ASC") or die ("Imposible");

1 个答案:

答案 0 :(得分:8)

您按天分组结果,这就是您只能看到31个结果的原因。

只有31天(01-31)。