选择列最接近当前日期的MySQL行

时间:2012-11-04 05:51:54

标签: php mysql sql

我有一堆包含多行的数据库。其中一列是“日期”,其格式为每行的日期:MM / DD / YYYY H:MM PM / AM

如何编写选择日期为最近日期的行的PHP。这意味着如果您有明天的日期,今天的日期和昨天的日期,它会选择昨天的日期行。

我已经连接到数据库了:

mysql_connect('localhost','username','pass');
mysql_select_db('db_name');

如何编写查询以获取此信息?

2 个答案:

答案 0 :(得分:2)

我会使用以下查询的变体在SQL而不是PHP中进行过滤:

SELECT *
FROM myTable
WHERE theDate < CURDATE()
ORDER BY theDate DESC
LIMIT 1

这将选择过去的所有行(theDate < CURDATE()),按反向时间顺序(ORDER BY theDate DESC)对它们进行排序,然后获取第一条记录(LIMIT 1)。

答案 1 :(得分:0)

查询数据库时,ORDER BY日期DESC LIMIT 1

这将仅返回最近的结果,从而返回最接近当前日期的结果。 (这仅适用于未放置日期的条目的情况下)