Mysql 过去24小时的1小时记录

Mysql 过去24小时的1小时记录,mysql,timestamp,Mysql,Timestamp,我使用: 获取过去24小时内的所有记录。有没有一种方法可以从MySQL中“过滤”,在24小时内每小时只获取一个值?我真的不介意这是每小时的第一张唱片还是最后一张唱片 日期在Mysql时间戳中,用作主键(当前_时间戳) 为什么??我每分钟插入一个温度记录,然后用谷歌图表绘制。当我画过去24小时的图表时,它看起来很疯狂!!由于这是一个家庭DIY项目,我可以在过去24小时内每隔1小时绘制一次温度图 您可以按小时对数据进行分组,并为每小时选择最低的id。如果将该子查询与您的表联接,您将获得所需的结果 S

我使用:

获取过去24小时内的所有记录。有没有一种方法可以从MySQL中“过滤”,在24小时内每小时只获取一个值?我真的不介意这是每小时的第一张唱片还是最后一张唱片

日期在Mysql时间戳中,用作主键(当前_时间戳)


为什么??我每分钟插入一个温度记录,然后用谷歌图表绘制。当我画过去24小时的图表时,它看起来很疯狂!!由于这是一个家庭DIY项目,我可以在过去24小时内每隔1小时绘制一次温度图

您可以按小时对数据进行分组,并为每小时选择最低的
id
。如果将该子查询与您的表联接,您将获得所需的结果

SELECT * FROM data WHERE date >= now() - INTERVAL 1 DAY
试试这个:

select d1.*
from data d1
join
(
  SELECT min(id) as id
  FROM data 
  group by date(date), hour(date)
) d2 on d1.id = d2.id
WHERE d1.date >= now() - INTERVAL 1 DAY

应该是
date
hour
才能准确,请解释您的答案。谢谢不为我工作。。。我没有定义d1或d2列。。。。我只有一个名为date的列(键入timestamp,用作主键并自动填充当前的时间戳)。
d1
d2
只是表名别名。对于
数据
表和子查询。乍一看,它工作得很好。输出过去24小时内每小时的最后记录。谢谢
SELECT * FROM data WHERE date >= now() - INTERVAL 1 DAY group by hour(date)