2012-08-24 39 views
2

希望組織在以下日期(假設今天是2012年8月24日):邏輯順序MySQL的展會活動

2012年12月1日
2012年11月1日
2012年6月1
六月30,2012

以下列方式:

2012年11月1日
2012年12月1日
2012年6月30日
2012年6月1日

這是這樣一種方式,它表明還沒有發生第一的事件,並從最快到最遠,然後顯示過去的事件,從最近到最遠。

你可以假設表的結構是:

ID name event_date 
1 Test 1351742400 # All dates are Unix Time 
2 Test2 1354338000 
+2

如果你正在展示過去的事件從最接近最遠,肯定6月30日之前應該來* *六月一號? – Death

+0

我的不好:)謝謝 – Nitroware

回答

3
SELECT ID, name, event_date 
FROM yourtable 
ORDER BY event_date < UNIX_TIMESTAMP(), ABS(UNIX_TIMESTAMP() - event_date) 

看到它聯機工作:sqlfiddle

+0

哇,謝謝你!優秀的代碼和真棒網站:D謝謝!我會標記爲接受時,讓我:) – Nitroware

+0

@Nitroware:不客氣。 –