2016-09-08 4 views
0

私の質問を読んでくれてありがとう。php/sqlで年月順にソートする

my mysqlデータベースはレコードショップ向けです。

私はそれで700件のレコードを持つレコードと呼ばれるテーブルを持っている私のフィールドは、アーティスト、タイトル、RELEASE_DATEなど

ある

RELEASE_DATEがvarchar型で、すなわち

ミリメートル/ yyyyのように入力して保存01/2003 = 2003年1月

すなわちZZ/1997 = 1997の間に - いくつかのレコードは、私はSにできるようにしたい月

持っていけません私の結果に年、月の順にレコードを表示します。つまり、訪問者に最新の上位10個のレコードのリストを表示することができます。レコードがzzで始まる場合は、その年のリストの最後になります。

例えばソート結果は、このようになるであろう:

11/2001

06/2001

ZZ/2001

09/2000

01/2000

zz/2000

ご了承ください。

多くの感謝

マット。

+0

ご使用のデータベースに質問にタグを付けてください。 –

+0

別の列を作成し、 '/ dd'オプションまたは' 00'か何らかのデフォルトで 'YY/mm/dd'を正しく保存してください。 – AbraCadaver

+0

ありがとうabracadaverしかし、私は700エントリを通過し、unixの日付形式に変更する必要はありません...それは年齢がかかるでしょう! – matt

答えて

2

MySQLでは、あなたが行うことができます:

order by right(release_date, 4) desc, 
     left(release_date, 2) + 0 desc; 

ノートを2番目のキーに。月を数字に変換します。先頭の桁がないため、値zzは0に変換されます。

関連する問題