2013-03-04 280 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