【问题标题】:MySQL date interval on select选择时的 MySQL 日期间隔
【发布时间】:2014-10-24 16:29:11
【问题描述】:

我已经编写了这个 SQL 代码:

CREATE TABLE `logs` (
    `id_log` INT(11) NOT NULL AUTO_INCREMENT,
    `data_log` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
    PRIMARY KEY (`id_log`),
)

我在我的服务器出现故障时插入了一条记录,但我想检查一下它是否在 10 分钟前没有插入相同的记录。

所以我一直在寻找一些 SELECT,它只显示从 NOW() 到 10 分钟前的记录。

【问题讨论】:

    标签: mysql sql intervals


    【解决方案1】:

    您正在寻找INTERVAL # [UNIT],有多种使用方式——http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html:

    SELECT count(*)
      FROM logs
     WHERE data_log > NOW() - INTERVAL 10 MINUTE;
    

    【讨论】:

    • 谢谢哥们,对我帮助很大。
    【解决方案2】:

    这将返回最近十分钟内写入日志的记录数:

    SELECT Count(*) as count_in_last_10 FROM logs WHERE data_log BETWEEN DATE(NOW()-INTERVAL 10 MINUTE) AND NOW()
    

    【讨论】:

    • 谢谢哥们,对我帮助很大。
    猜你喜欢
    • 1970-01-01
    • 2019-05-13
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多