所以我在PHPMyAdmin中对MariaDB运行一个查询,它一直工作得很好,直到我们进入新的一个月,而且无论如何我都看不到这个问题.作为示例,该表采用以下格式,它包含7月和8月的数据:
timestamp | generation | export |
---|---|---|
2023-08-01 23:00:00 | 43.4 | 12.5 |
用于返回第7个月和2023年的最大值的SQL;
$sql_a = "SELECT DATE_FORMAT(`timestamp`, '%a %d %M') AS timestamp, `generation` FROM solar_generation WHERE `generation` = (SELECT MAX(`generation`) FROM solar_generation) AND MONTH(timestamp)= 7 AND YEAR(timestamp) = 2023";
这就输出了我所期望的:
Fri 07 July 43.0
如果我将SQL更改为月份号8
SELECT DATE_FORMAT(`timestamp`, '%a %d %M') AS timestamp, `generation` FROM solar_generation WHERE `generation` = (SELECT MAX(`generation`) FROM solar_generation) AND MONTH(timestamp)= 8 AND YEAR(timestamp) = 2023;
尽管表中有数据,我还是得到了以下结果;
MySQL returned an empty result set (i.e. zero rows)
如果运行以下查询:
SELECT MAX(`generation`) FROM solar_generation WHERE MONTH(timestamp)= 8 AND YEAR(timestamp) = 2023;
我得到了我所期望的8月份的最大世代,一旦我开始构建获取数据的查询,它就停止返回数据吗?
我到底做错了什么,我只是假设相同的查询会起作用,或者在8个月之前expose 出的查询中存在缺陷?