mysqlのソートの問題~

WBOY
リリース: 2016-06-20 12:31:26
オリジナル
983 人が閲覧しました

これで、addDay (時間の追加) と status (ステータス) の 2 つのフィールドができました。
次のソート方法を実現したいです:
1. addDay で降順、status<6 でソート
2. ルール 1 の後に status>=6 を入力します。 addDay の降順とステータスの昇順

addDay のステータス
2016-4-14 1
2016-4-14 2
2016-4-13 1
2016-4-13 2
2016-4-14 6
2016-4-13 6

すみません、マスター、このような並べ替えを行うには SQL ステートメントをどのように記述すればよいですか?


ディスカッションへの返信 (解決策)

select addDay,status from table where status < 6 order by addDay desc,status ascunion allselect addDay,status from table where status >= 6 order by addDay desc,status asc
ログイン後にコピー

order by case when status<6 then addDay else 1 end desc,status asc
ログイン後にコピー

order by case when status<6 then addDay else 1 end desc,addDaydesc,status asc
ログイン後にコピー

select * from table order by if(status<6, 1, 0) desc, addDay desc,status asc

select * from tbl_name order by status>=6, addDay desc, status asc
ログイン後にコピー

皆さん、ありがとうございます。問題は解決しました

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート