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 に答える