Datetime 在MySQL中,如何以特定的间隔在两个日期时间之间提取值?

Datetime 在MySQL中,如何以特定的间隔在两个日期时间之间提取值?,datetime,mysql,Datetime,Mysql,我有一个应用程序,每秒将温度值写入MySQL表,它由温度和日期时间字段组成 我需要每隔一秒、一分钟、一小时等特定时间从表中提取这些值 例如,我需要提取两个datetime字段之间的值,并显示每个字段的小时温度 我考虑过的一个选项是创建一个临时表,其中包含使用MySQL INTERVAL生成的时间间隔列表,然后将其与主表连接 我只是想知道MySQL中是否有一些我忽略的时间和日期函数可以让这变得更容易 谢谢。您可以将其用于日期,然后使用条件WHERE子句查看时间戳的结构。如果其中有00:00(例如,

我有一个应用程序,每秒将温度值写入MySQL表,它由温度和日期时间字段组成

我需要每隔一秒、一分钟、一小时等特定时间从表中提取这些值

例如,我需要提取两个datetime字段之间的值,并显示每个字段的小时温度

我考虑过的一个选项是创建一个临时表,其中包含使用MySQL INTERVAL生成的时间间隔列表,然后将其与主表连接

我只是想知道MySQL中是否有一些我忽略的时间和日期函数可以让这变得更容易

谢谢。

您可以将其用于日期,然后使用条件WHERE子句查看时间戳的结构。如果其中有00:00(例如,16:00:00),则接受它,如果没有,则保留它

示例(未测试):
虽然像“%:00:00”这样的时间(日期)可以工作(分钟(日期)=0,秒(日期)=0),但计算速度可能更快。Mindstapper,你可能是对的。我在SQL方面的时间没有在其他领域花费的那么多:)
SELECT temp, date
FROM temperatures
WHERE (date BETWEEN '2009/01/03 12:00:00' AND '2009/01/04 12:00:00') 
 AND  (time(date) LIKE '%:00:00')
ORDER BY date ASC
LIMIT 10