在mysql中获取时间间隔

时间:2013-11-13 22:50:12

标签: mysql time intervals

我有一个查询来获取时间间隔 - 一分钟,五分钟,一小时,一小时,一小时和一天?我使用MySQL作为数据库。

2 个答案:

答案 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