我有下表:
+----+-------------+
| ID | startDate |
+----+-------------+
| 1 | 2014-10-29 |
| 2 | 2014-10-29 |
| 3 | 2014-10-28 |
| 4 | 2014-10-28 |
| 5 | 2014-10-28 |
| 6 | 2014-10-26 |
| 7 | 2014-10-25 |
| 8 | 2014-10-23 |
| 9 | 2014-10-22 |
+----+-------------+
从这张表中,我想从当前日期获取最后一天的startDate。日期可能不连续我的意思是在这个表中我的数据不会每天进入,但每当我想从今天开始的第5天检查它应该像'2014-10-23'那样返回。请帮帮我。
答案 0 :(得分:1)
您的查询将如下所示
select startDate
from table_name
where startDate <= CURDATE()
order by startDate desc limit 5,1
或
select startDate
from table_name
where startDate <= CURDATE()
order by startDate desc limit 1 offset 5
答案 1 :(得分:1)
使用限制
SELECT startDate FROM table WHERE startDate <= CURDATE() ORDER BY startDate LIMIT 5,1
这意味着
1)获取开始日期小于当前日期的记录,然后
2)从记录5开始返回一条记录(意味着得到第5条记录)。