2017-01-19 10 views
0

私はMySQLデータベースにテーブルを持っています。値に基づくORDER BY句 -

列の1つにFailedと表示され、一部の行に値Yesが含まれています。

SELECTクエリはどのようにして最初に値がない行が表示され、最後にYesという値を持つ行が表示されるようにするにはどうすればよいですか?フィールド(複数可)に、ご注文時Order by

Order by case when col <> 'yes' then 2 else 1 end 
+1

何が価値がないのですか?それは空の文字列ですか? –

+0

はい、空の文字列です。 – michaelmcgurk

答えて

2

+0

すごくきれいだよ。ありがとう、トム - それは渦を与えるでしょう:-) – michaelmcgurk

+0

また、 '失敗 'に値がなければ、2番目のORDER BYを持つことは可能ですか? 'id DESC'のように? – michaelmcgurk

+1

@michaelmcgurkあなたは賭ける!このようなフィールドを追加するだけです:Failed ASC、id DESCによる注文各フィールドの後にカンマをつけてください。 –

2

使用CASEはちょうどあなたがで注文したいASCまたはDESCを使用します。この場合、試してみてください:

ORDER BY Failed ASC