我正在使用Mysql 5.5.43-0+deb7u1
。
我设法创建此查询以获取特定日期的降雨数据(我使用MOD
,因为雨数据每隔一小时更新一次,而其他数据会更频繁地更新。)
SELECT date,SUM(rainmm) FROM weather WHERE MOD(minute(time),60)=0 AND date=CURDATE()-1;
+------------+-------------+
| date | sum(rainmm) |
+------------+-------------+
| 2015-06-23 | 0.1 |
+------------+-------------+
1 row in set (0.15 sec)
我正在寻找一种通过单一查询获取所有日期结果的方法,而不需要每天手动检查。我不确定是否应该使用循环并从当前日期开始迭代数字,或者是否有更好的方法来完成此操作。
期望的结果:
SELECT date, [Smart query to get all days at once]
+------------+-------------+
| date | sum(rainmm) |
+------------+-------------+
| 2015-06-23 | 0.1 |
| 2015-06-24 | 0.0 |
| ... | ... |
| 2015-11-11 | 11.1 |
+------------+-------------+
答案 0 :(得分:3)
这是否符合您的要求
SELECT date,SUM(rainmm) FROM weather WHERE MOD(minute(time),60)=0
GROUP BY date
ORDER BY date;