mysql查询近3年数据方法
本文介绍了查询MySQL近三年数据的两种SQL写法:一种是固定日期查询,另一种是动态获取当前日期。关键点包括使用DATE_SUB和CURDATE函数计算三年前日期,以及NOW函数获取当前时间。文章还提供了优化建议,如为时间字段添加索引或使用DATE函数简化查询。这些方法适用于需要按时间范围筛选数据的场景,例如统计报表或数据分析。
·
假设今天是2025年8月5日,查询近3年数据的MySQL SQL语句可以这样写:
SELECT *
FROM your_table
WHERE time >= DATE_SUB('2025-08-05', INTERVAL 3 YEAR)
AND time <= '2025-08-05 23:59:59';
或动态版本(自动获取当前日期):
SELECT *
FROM your_table
WHERE time >= DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
AND time <= NOW();
关键点解析:
-
DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
动态计算三年前的日期(2022-08-05 00:00:00) -
NOW()
获取当前精确时间(2025-08-05 HH:MM:SS) -
时间范围逻辑
>= 三年前零点+<= 当前时刻确保包含完整三年数据
优化建议:
- 如果表数据量大,建议为
time字段添加索引 - 如果只需要日期部分(忽略时分秒),可改用:
WHERE DATE(time) BETWEEN '2022-08-05' AND '2025-08-05'
需要我解释某个具体细节吗?
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)