我有这样的表结构: -
ID Month Year
1 January 2015
2 February 2015
3 March 2014
4 April 2014
5 May 2014
6 June 2014
7 July 2014
8 August 2014
9 September 2014
10 October 2014
11 November 2014
12 December 2014
我想用旧年的月份来排序,如果没有进入,则首先是年份 当年的月份,否则想要使用当前年份进行排序 月,当年(如果当年存在月数)。
预期输出为: -
Month Year
March 2014
April 2014
May 2014
June 2014
July 2014
August 2014
September 2014
October 2014
November 2014
December 2014
January 2015
February 2015
答案 0 :(得分:1)
您可以使用STR_TO_DATE
来获取可根据您的需求订购的值。像
SELECT M.*,
STR_TO_DATE(CONCAT(M.Month,' ',M.Year),'%M %Y') AS 'myorder'
FROM yourtable M
ORDER BY myorder ASC;
应该做的。
答案 1 :(得分:0)
在查询中尝试此功能可能对您的情况有所帮助
Select STR_TO_DATE(CONCAT(Month,'',Year),'%M %Y') AS 'myorder' from tableName Order By Cutom ASC
答案 2 :(得分:-1)
选择月份,每年从TABLE_NAME订购年份DESC,月份ASC
认为这应该做的伎俩