我有一个循环遍历多个日期的行并获取每一天的平均值的过程。它看起来像这样:将WHILE中SELECT语句的所有结果作为一个整体输出
BEGIN
DECLARE d_counter int DEFAULT 0;
DECLARE d_difference int DEFAULT DATEDIFF(enddate, startdate);
IF d_difference > 0 THEN
WHILE d_counter <= d_difference DO
SELECT id, ROUND(AVG(Temperature), 1) AS 'avgt', ROUND(AVG(Humidity), 1) AS 'avgh', Timestamp FROM
(SELECT * FROM temperature_room2
WHERE timestamp >= CURRENT_DATE() - INTERVAL d_counter DAY
AND timestamp <= CURRENT_DATE() + INTERVAL 1 DAY - INTERVAL d_counter DAY) AS A;
忽略END的缺失在这里,它不会因为某些原因而复制。
所以我有两个问题: 当我尝试在PHP中使用while循环使用$行= $ msqli_fetch_assoc($结果)这仍然有效吗?
第二个问题: 如果不是,我该如何输出结果作为一个'表'?
在此先感谢!
您每天只有1个ID吗?如果不是,这些奇怪的非序列ID从哪里来?这应该全部在每天聚合一个查询中完成,以这种方式进行这种做法是一种触目惊心的事情,尤其是当您添加多余的子查询时。 – JNevill