如何在我的 table 中获取离当前日期最近的行?

How to get the closest row to the current date in my table?

我想从数据库中提取 table 当用户访问该页面时所在日期所在的数据库。

Table 样本:

---+----------+-----------
ID |   from   |    to
---+----------+-----------
1  |2015-07-01|2015-07-14
---+----------+-----------
2  |2015-07-15|2015-07-31
---+----------+-----------
3  |2015-08-01|2015-08-20

输出:

如果日期是 2015-07-10 输出应该是 ID 1

如果日期是 2015-08-02 输出应该是 ID 3

如果我没看错你的问题,你想做的是 select 今天日期在 "from" 和 "to" 之间的那一行?

如果是这种情况,您应该这样做:

SELECT id
FROM your_table_name 
WHERE CURDATE() >= `from`
    AND CURDATE() <= `to`

或者如果您愿意:

SELECT id
FROM your_table_name
WHERE CURDATE() BETWEEN `from` AND `to`

这两个查询都将 return 一行或多行,其中今天的日期介于 "from" 和 "to" 之间。