以下のように、月と年のフィールドを持つ mysql テーブルがあります。
year month filename filepath
2013 Feb 2013Feb_Report.xlsx ./main_reports/2013Feb_Report.xlsx
2013 Jan 2013Jan_Report.xlsx ./main_reports/2013Jan_Report.xlsx
2012 Jul 2012Jul_Report.xlsx ./main_reports/2012Jul_Report.xlsx
2013 Mar 2013Mar_Report.xlsx ./main_reports/2013Mar_Report.xlsx
2011 Mar monthly report180413.xlsx ./main_reports/monthly report180413.xlsx
2012 Sep 2012Sep_Report.xlsx ./main_reports/2012Sep_Report.xlsx
2012 Oct 2012Oct_Report.xlsx ./main_reports/2012Oct_Report.xlsx
このテーブルからすべてのフィールドを取得し、以下のように出力します。
2011 Mar : monthly report180413.xlsx
2012 Sep : 2012Sep_Report.xlsx
2012 Oct : 2012Oct_Report.xlsx
2013 Jan : 2013Jan_Report.xlsx
以下のように、月と年の両方のフィールドをDESC順にソートして、このテーブルを取得したいと思います。これどうやってするの?月と年のフィールドのデータ型を変更する必要がありますか? 助けてください..
2013 Jan : 2013Jan_Report.xlsx
2012 Oct : 2012Oct_Report.xlsx
2012 Sep : 2012Sep_Report.xlsx
2011 Mar : monthly report180413.xlsx
私が使用したSQLクエリは以下の通りです。年と月は DESC 順で取得されますが、月はアルファベットの DESC 順でソートされます。つまり、'Jan' が 'Feb' の上に来ます。私が必要としているのは、「1 月」の上の「2 月」です。
"SELECT * FROM main_reports ORDER BY year DESC, month DESC";
助けてください..よろしくお願いします..