我在一个方法之后动态创建MySQL中两个日期之间的时间值列表。
例如,用户可以输入开始和结束时间戳。
E.G开始日期= 2014/01/01 00:00:00
结束日期= 2014/01/02 00:00:00
然后,查询将运行它的魔法"并返回开始和结束日期之间所有5分钟样本的时间值列表。
1/01/2014 0:00
1/01/2014 0:05
1/01/2014 0:10
1/01/2014 0:15
1/01/2014 0:20
1/01/2014 0:25
.......................
.......................
1/01/2014 23:30
1/01/2014 23:35
1/01/2014 23:40
1/01/2014 23:45
1/01/2014 23:50
1/01/2014 23:55
有没有人对如何尝试完成此事有任何指示?
答案 0 :(得分:1)
所以我对这个问题的思考将从这里开始......
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 |
+------------+------------+---------------------+
......几秒钟(最多五分钟)......
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 |
+------------+------------+---------------------+
所以每隔5分钟ut_rounded会增加1,所以现在我们只是在寻找序列中的空白 - 已经存在模式的问题。