MySQL将开始和结束时间戳分解为X个样本数

MySQL将开始和结束时间戳分解为X个样本数,mysql,timestamp,unix-timestamp,sampling,Mysql,Timestamp,Unix Timestamp,Sampling,我正在寻找一种在MySQL中动态创建两个日期之间的时间值列表的方法。 例如,用户将输入开始和结束时间戳 例如开始日期=2014/01/01 00:00:00 结束日期=2014/01/02 00:00:00 然后,查询将发挥“魔力”,并返回时间值列表,以及开始日期和结束日期之间的所有5分钟样本。 2014年1月1日0:00 2014年1月1日0:05 2014年1月1日0:10 2014年1月1日0:15 2014年1月1日0:20 2014年1月1日0:25 .................



我正在寻找一种在MySQL中动态创建两个日期之间的时间值列表的方法。 例如,用户将输入开始和结束时间戳

例如开始日期=2014/01/01 00:00:00
结束日期=2014/01/02 00:00:00
然后,查询将发挥“魔力”,并返回时间值列表,以及开始日期和结束日期之间的所有5分钟样本。

2014年1月1日0:00
2014年1月1日0:05
2014年1月1日0:10
2014年1月1日0:15
2014年1月1日0:20
2014年1月1日0:25
.......................
.......................
2014年1月1日23:30
2014年1月1日23:35
2014年1月1日23:40
2014年1月1日23:45
2014年1月1日23:50
2014年1月1日23:55


有人对我应该如何尝试和完成这一点有什么建议吗?

所以我对这个问题的思考将从这里开始

 SELECT UNIX_TIMESTAMP(NOW()) ut
      , ROUND(UNIX_TIMESTAMP(NOW())/300,0) ut_rounded
      , FROM_UNIXTIME(ROUND(UNIX_TIMESTAMP(NOW())/300,0)*300) now_rounded;
 +------------+------------+---------------------+
 | ut         | ut_rounded | now_rounded         |
 +------------+------------+---------------------+
 | 1417261935 |    4724206 | 2014-11-29 11:50:00 |
 +------------+------------+---------------------+
…几秒钟(最多五分钟)后


所以每5分钟ut_舍入增加1,所以现在我们只是寻找序列中的间隔-一个已经存在模式的问题。

为什么要在SQL中这样做?我在另一个表中有读数样本,平均间隔超过5分钟。问题是,我可能会在某些时间段丢失数据,因此我的目标是将上面的查询结果(如果可以)连接到另一个表,以便我可以确定数据丢失的位置。啊,现在这是一个不同的问题!
 SELECT UNIX_TIMESTAMP(NOW()) ut
      , ROUND(UNIX_TIMESTAMP(NOW())/300,0) ut_rounded
      , FROM_UNIXTIME(ROUND(UNIX_TIMESTAMP(NOW())/300,0)*300) now_rounded;
 +------------+------------+---------------------+
 | ut         | ut_rounded | now_rounded         |
 +------------+------------+---------------------+
 | 1417261951 |    4724207 | 2014-11-29 11:55:00 |
 +------------+------------+---------------------+