有没有查询可以让我获取时间间隔-一分钟,五分钟,15分钟,半小时,一小时和一天?我使用MySQL作为数据库。
要获取一个范围,例如从30分钟到45分钟之前,请这样做
SELECT * FROM tbl
WHERE tbl.mydate > DATE(DATE_sub(NOW(), INTERVAL 45 MINUTE))
AND tbl.mydate < DATE(DATE_sub(NOW(), INTERVAL 30 MINUTE));
您可能在寻找date_sub函数:
SELECT * FROM YOURTABLE t
WHERE t.timestamp > date_sub(NOW(), interval 1 hour);
对于不同的时间间隔,您可以将1小时更改为5天、5周等。
根据文档:
DATE_SUB(date,INTERVAL expr unit)
date参数指定起始日期或datetime值。expr是一个表达式,指定要从起始日期中添加或减去的时间间隔值。expr是一个字符串;它可以以“-”开头表示负间隔。unit是一个关键字,表示应以何种单位解释表达式。
以下表格显示了每个单位值的expr参数的预期形式。
unit Value Expected expr Format
MICROSECOND MICROSECONDS
SECOND SECONDS
MINUTE MINUTES
HOUR HOURS
DAY DAYS
WEEK WEEKS
MONTH MONTHS
QUARTER QUARTERS
YEAR YEARS