我有一个查询来获取时间间隔 - 一分钟,五分钟,一小时,一小时,一小时和一天?我使用MySQL作为数据库。
答案 0 :(得分:9)
获得一个范围,比如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));
答案 1 :(得分:4)
您可能正在寻找date_sub:
SELECT * FROM YOURTABLE t
WHERE t.timestamp > date_sub(NOW(), interval 1 hour);
对于不同的时间间隔,您可以将1小时更改为5天,5周等。
来自文档:
DATE_SUB(日期,INTERVAL expr单位)
date参数指定开始日期或日期时间值。 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