1

我有一个包含年份和 ID 列的表

YEAR              ID
1988                29
1989                 89
1990                22
1992                9
1994                8
1998                23
1922                 20
August 1990          12
September 2009         14
August 1991            11
November 2009           33
October 1990            30
January 1990            55
March 2001              24

有没有办法我可以对表格进行排序,使我的最终结果是有序的。我正在寻找类似的结果

YEAR              ID
1922                20
1988                29
1989                 89
1990                22
1992                9
1994                8
1998                23
January 1990            55
August 1990          12
October 1990            30
August 1991            11
March 2001              24
September 2009         14
November 2009           33

先感谢您

4

1 回答 1

1

只需替换myYear为您的表名...

select year,id
from
(select year,id,
case when STR_TO_DATE(year,'%Y') is not null then STR_TO_DATE(year,'%Y') else STR_TO_DATE(year,'%M %Y') end as d,
case when STR_TO_DATE(year,'%Y') is not null then 0 else 1 end as ob
from myYear
) y
order by ob asc,d asc;
于 2012-10-25T15:49:08.787 回答