前回の質問文が間違っていたため再度質問させて頂きます。
MySQLのorder by関数は不等号の検索条件を指定できませんでしょうか。
やりたいこととしては、下記のコード例で説明すると
・年齢が20歳未満のユーザーを最初に降順で取り出したい
・年齢が20歳以上のユーザーはその後に昇順で取り出したい
(19,18....2,1, 20,21...99)
CASE式も調べましたが、不等号の条件式ではなく、特定の値のみが対応しているものしか見られませんでした。
MySQL
1select * from users order by age < 20 DESC;
(捕捉)
現状、Orlofsky様のやり方を参考にさせて頂き、
ORDER BY
CASE WHEN age < 20 THEN age END DESC,
CASE WHEN age > 20 THEN age END ASC
のように二度case式を発行することで実現することができました。
CASE式を一つにしたいと思っているのですが、
THEN内でASC, DESCを用いるとsyantax errorになり、ENDの後に指定すると出来ました。
回答3件
あなたの回答
tips
プレビュー