-1

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

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

2013-01-29、2013-02-28、2013-03-29

输出必须是 2013-02-28。

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

提前致谢。

4

2 回答 2

2

你试过什么吗?

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

如果要避免重复,请group by yourDate在订单前添加子句,limit 将1,1代替2,1

编辑

由于该字段是 varchar,并且您想以日期而不是 varchar 形式排序,因此您需要按顺序转换字段

于 2013-08-28T03:38:49.390 回答
2
SELECT MAX( date )
  FROM TABLE
 WHERE date < ( SELECT MAX( date )
                 FROM TABLE )

样品小提琴

于 2013-08-28T03:39:47.493 回答