2016-07-20 120 views
1

我想输出一个时间间隔。
以一分钟的时间间隔存储。
查询:如何以5分钟的时间间隔输出?(mysql)

select datetime + INTERVAL 5 MINUTE 
from ch1 
where datetime between '2016-07-12 17:26:00' and '2016-07-13 09:17:00' 

但输出

2016-07-12 17:31:00 
2016-07-12 17:32:00 
2016-07-12 17:33:00 
2016-07-12 17:34:00 
2016-07-12 17:35:00 
2016-07-12 17:36:00 ... 

我想输出。

2016-07-12 17:26:00 
2016-07-12 17:31:00 
2016-07-12 17:36:00 
2016-07-12 17:41:00 
2016-07-12 17:46:00 
2016-07-12 17:51:00 ... 
+0

希望您获得与您的数据无关的输出吗? –

回答

1

看起来你的ch1表已经有你想要的时间戳数据。如果是这种情况,那么你可以简单地通过使用MINUTE()函数模量以及可供选择,每5分钟记录:

SELECT datetime + INTERVAL 5 MINUTE 
FROM ch1 
WHERE datetime BETWEEN '2016-07-12 17:26:00' AND '2016-07-13 09:17:00' AND 
     MINUTE(datetime) % 5 = 0 

其实,如果你想2006-07-12 17:26:00是在结果集的第一条记录,然后您可以抵消模数计算:

SELECT datetime + INTERVAL 5 MINUTE 
FROM ch1 
WHERE datetime BETWEEN '2016-07-12 17:26:00' AND '2016-07-13 09:17:00' AND 
     (MINUTE(datetime) - 1) % 5 = 0 
+0

谢谢你的回答。 –

+1

我解决了“SELECT FROM_UNIXTIME(CAST(UNIX_TIMESTAMP(datetime)/ 300 AS SIGNED)* 300) FROM ch1 where'2016-07-12 17:26:00'和'2016-07-13 09之间的日期时间:17:00'GROUP BY 1' –

+0

@ C.Seon,那么你应该添加这个答案,并标记你自己是正确的,因为这个答案完全解决了另一个问题。 –

相关问题