2013-08-28 145 views
-1

我需要關於日期的mysql查詢幫助。查詢如何選擇日期在MySQL中的最新日期之前

我想在mysql查詢中選擇最近日期之前的日期。例如,日期爲:

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

的輸出必須是2013年2月28日。

必須使用什麼sql子句來返回所述輸出?

在此先感謝。

回答

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,則需要按順序排列字段

+0

+1我喜歡!簡單,優雅。 – Bohemian

+0

@貢薩洛。主席先生,我已經嘗試過你的建議,但輸出是最新的日期。 –

+0

該字段是日期還是varchar? –

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

Sample fiddle

+0

查看訂單中的差異主席先生我對這些​​細節感到困惑。那個有什麼用途? –

+0

獲取第二個最新日期。子查詢將最新日期返回到主查詢,並且我們找到一個小於最新日期的日期。請查看http://sqlfiddle.com/#!2/5924e/2 –

+0

我可以在where子句中使用列日期。我的意思是像'日期'代替'細節'一欄? –

相關問題