如何在mysql中从最近7天以5分钟间隔选择日期

时间:2020-02-28 08:28:17

标签: mysql sql date intervals

我有一个表,上面有日期和值,像这样:

+----------------------+-------+
|         time         | value |
+----------------------+-------+
| 2020-02-28 08:30:20  |    30 |
| 2020-02-28 08:30:25  |    15 |
| 2020-02-28 08:30:30  |    30 |
| 2020-02-28 08:30:35  |    10 |
+----------------------+-------+

我需要最近7天的日期,每5分钟一次,没有秒。

+-------------------+-------+
|       time        | value |
+-------------------+-------+
| 2020-02-28 08:30  | 30    |
| 2020-02-28 08:35  | 5     |
| 2020-02-28 08:40  | 30    |
| 2020-02-28 08:45  | 4     |
+-------------------+-------+

是否可以创建这样的查询?

1 个答案:

答案 0 :(得分:0)

您可以使用类似这样的内容:

margin

例如:

SELECT DATE_FORMAT($column, '%H:%i'),`value` FROM $table WHERE MOD(MINUTE($Whenـyouـwantـitـtoـstart),5) = 0  AND `time` >= DATE(NOW()) - INTERVAL 7 DAY

如果您希望没有几秒钟的时间,应该使用:

SELECT DATE_FORMAT(`time`, '%H:%i'),`value` FROM users WHERE  MOD(MINUTE((NOW()),5) = 0 
AND `time` >= DATE(NOW()) - INTERVAL 7 DAY

在下面的查询中选择最近7天的行

DATE_FORMAT(`time`, '%H:%i')

和MOD(N,M)函数返回一个数字的余数除以另一个数字。您可以像这样使用它:

WHERE `time` >= DATE(NOW()) - INTERVAL 7 DAY
相关问题