首页 > 数据库 > mysql教程 > MySQL如何高效检索最近30天内的记录?

MySQL如何高效检索最近30天内的记录?

Mary-Kate Olsen
发布: 2024-12-17 01:02:26
原创
626 人浏览过

How to Efficiently Retrieve Records within the Last 30 Days in MySQL?

MySQL 查询优化:检索某个时间范围内的记录

在前面的讨论中,用户寻求有关检索添加到数据库中的记录的指导过去 30 天内,具体要求以 mm/dd/yy 格式显示日期。提供的原始查询遇到了无法将结果限制在所需时间范围内的问题。

经检查,确定问题源于 DATE_FORMAT 函数的错误放置。为了实现所需的过滤,该函数应该应用于 SELECT 子句而不是 WHERE 子句。这是更正后的查询:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
登录后复制

此外,需要注意的是 CURDATE() 仅返回时间戳的日期部分。如果 create_date 列包含具有非零时间部分的 DATETIME 值,则原始查询将排除今天的记录。为了解决这个问题,可以使用 NOW() 来代替:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
登录后复制

通过这些更正,查询将正确检索满足指定时间范围和格式要求的记录。

以上是MySQL如何高效检索最近30天内的记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板