2013-03-04 305 views
1

它是可能的,如果我有這樣的一個表:SQL按月升序和月份降序?

CREATE TABLE `Fun` (
    `Date` DATETIME NOT NULL PRIMARY KEY 
); 

執行一個SQL查詢,其中結果的排序是這樣的:

2013-03-01 
2013-03-03 
2013-03-04 
2013-02-11 
2013-02-28 
2013-01-21 
2012-12-10 
2012-12-25 
2010-07-08 

需要注意的是,在上面的列表中,月年份按降序排列,但每個月內的日期按升序排列?

謝謝你的時間。

回答

8

利用YEAR,MONTH函數。

SELECT * 
FROM Fun 
ORDER BY YEAR(date) DESC, MONTH(date) DESC, 
     DATE ASC 
+0

太棒了!謝謝,JW! – 2013-03-04 05:46:47

+0

不客氣':D' – 2013-03-04 05:47:07