php - 从 MySql 返回小于 60 天的行

标签 php mysql sql datetime select

我有以下查询返回我表中的所有行:

$query="SELECT * FROM $tbl_name ORDER BY job_id DESC";

我想将这些结果限制为 60 天以内的条目。我使用以下方法记录了对数据库进行输入的日期:

$dt=date('d M Y');

这存储在名为“日期”的列中。

有人可以帮我修改查询吗?

谢谢 丹

最佳答案

如果日期在数据库中像 varchar 一样存储,您的查询应该是:

SELECT * 
FROM $tbl_name 
WHERE TO_DATE(date, 'dd MON yyyy') >= DATE_SUB(CURDATE(), INTERVAL 60 DAY)
ORDER BY job_id DESC

如果日期像日期一样存储,使用:

SELECT * 
FROM $tbl_name 
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 60 DAY)
ORDER BY job_id DESC

关于php - 从 MySql 返回小于 60 天的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595981/

相关文章:

mysql - 调试相当困难/复杂的 MySQL 查询

php - 我如何修复此循环以使用 bootstrap carousel 显示我的数据库中的图像

mysql - 将 LIKE 与多行子查询结合使用时如何避免错误 1242

sql - 内连接返回重复记录 Access sql

php - Powershell 脚本未从 php 运行

mysql - 想优化mysql查询

php - AFNetworking 1.x 将 JSON 发布到 PHP

sql - 使用子查询中的多个值进行更新

php - Codeigniter SQL语法错误?

php - 发送附在电子邮件中的 CSV 文件