关于日期,我需要关于mysql查询的帮助。
我想在mysql查询中选择最晚日期之前的日期。例如,日期是:
2013年1月29日, 2013年2月28日, 2013年3月29日
输出必须是2013-02-28。
必须使用什么sql子句来返回所述输出?
提前致谢。
答案 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 强>