【问题标题】:Get previous day date in MySQL format以 MySQL 格式获取前一天的日期
【发布时间】:2015-01-27 22:33:40
【问题描述】:

我想从数据库中获取前一天的记录数。

我正在使用以下方法

$date = date('Y-m-d H:i:s', strtotime('-1 day'));
$users = 'SELECT Count(*) FROM users where date="'.$date.'"';

这是显示计数 0,因为数据库中的日期格式是 (Y-m-d H:i:s)。

谢谢。

【问题讨论】:

  • 遗憾地投了反对票,部分原因是要求志愿者加急,也因为您在同一天收到了三个答案,没有投票、接受或发表评论。

标签: php mysql datetime


【解决方案1】:

希望对你有帮助

SELECT COUNT(*) FROM users WHERE date = (CURDATE() - INTERVAL 1 DAY)

【讨论】:

    【解决方案2】:

    就可以了

    select count(*) from users where to_days(date) = (to_days(now()) - 1);
    

    如果您的日期列是日期时间,这很有用 - 我们只是转换为日期编号并检查有多少记录具有昨天的日期编号。

    【讨论】:

      【解决方案3】:

      您可能需要考虑询问 MYSQL 本身,这样 PHP 就不必计算它(而且它可能会更快):

      SELECT Count(*) FROM users WHERE date = DATE_SUB(NOW(), INTERVAL 1 DAY)

      【讨论】:

        猜你喜欢
        • 2013-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-11
        • 2021-09-25
        • 2015-09-10
        • 2019-04-10
        • 1970-01-01
        相关资源
        最近更新 更多