是否有查询让我获取时间间隔 - 一分钟、五分钟、一刻钟、半小时、小时和天?我使用 MySQL 作为数据库。
问问题
18319 次
2 回答
12
得到一个范围,比如从 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));
于 2013-11-13T23:16:34.567 回答
6
您可能正在寻找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
于 2013-11-13T23:12:30.293 回答