在排序MySQL中日期的ORDER BY時,我試圖在今天之後的日期對ASC進行排序,而對於今天之前的日期,我嘗試對ASC進行排序。按照IF和排序日期排序的MySQL
我在做類似的東西:
SELECT * FROM test ORDER BY IF(created >= NOW(), created, 1) ASC, created DESC
這讓我有點期望的結果:
ID CREATED
8 May, 10 2014 11:15:00+0000
7 May, 03 2014 20:47:00+0000
5 May, 02 2014 14:00:00+0000
4 April, 30 2014 17:41:00+0000
3 April, 30 2014 17:00:00+0000
1 April, 21 2014 03:30:00+0000
6 March, 23 2014 12:00:00+0000
9 May, 20 2014 20:45:00+0000
10 July, 02 2014 20:30:00+0000
2 June, 30 2015 11:16:00+0000
今天之前是DESC,今天之後ASC。但是,我想在結果頂部看到ID爲9,10,2的塊。
任何想法如何做到這一點表示讚賞。
測試鏈接:http://www.sqlfiddle.com/#!2/4667b/2/0
是否有任何特定的邏輯背後9,10,2頂部,因爲他們是今天之後。 –
只爲了訂購。這是爲了事件。我想要顯示什麼是提前而不是後來,但也顯示從最近傳遞到最古老的順序。 – maximo