Mysql:对每个日期执行查询

时间:2015-06-24 11:37:09

标签: mysql sql database

我正在使用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    |
+------------+-------------+

1 个答案:

答案 0 :(得分:3)

这是否符合您的要求

SELECT date,SUM(rainmm) FROM weather WHERE MOD(minute(time),60)=0
GROUP BY date
ORDER BY date;