查询如何在MySQL中的最新日期之前选择日期

时间:2013-08-28 03:30:17

标签: mysql

关于日期,我需要关于mysql查询的帮助。

我想在mysql查询中选择最晚日期之前的日期。例如,日期是:

2013年1月29日, 2013年2月28日, 2013年3月29日

输出必须是2013-02-28。

必须使用什么sql子句来返回所述输出?

提前致谢。

2 个答案:

答案 0 :(得分:2)

你试过什么吗?

select yourDate from yourTable order by str_to_date(yourDate, '%Y/%m/%d') desc limit 2, 1

如果您想避免重复,请在订单前添加group by yourDate子句,限制为1,1而不是2,1

修改

由于该字段是varchar,并且您想要订购日期而不是varchar,您需要按顺序转换字段

答案 1 :(得分:2)

SELECT MAX( date )
  FROM TABLE
 WHERE date < ( SELECT MAX( date )
                 FROM TABLE )

<强> Sample fiddle