ホームページ > バックエンド開発 > PHPチュートリアル > mysql クエリ ステートメントに関する質問をお願いします。よろしくお願いします。

mysql クエリ ステートメントに関する質問をお願いします。よろしくお願いします。

WBOY
リリース: 2016-06-13 12:00:26
オリジナル
978 人が閲覧しました

MySQL クエリ ステートメントの問題、緊急ヘルプ、ありがとうございます
テーブル a にはフィールド a_sort(int)、a_date(bigint) があり、それぞれ並べ替えと日付、および日付ストレージのタイムスタンプがあります
a_sort a_date
0 1403172542
0 1403056816
0 1403172558
1 1403172594
2 1 403056323
4 1403056888
6 1402655021
5 6634

クエリを実行して表示するにはどうすればよいですかa_sort によって昇順に並べられますが、0 は昇順に含まれず、その後に日付による降順が続きます。

select * from a order by a_sort>0 asc,a_date desc、
または
select * from a order by a_sort!=0 asc,a_date desc
は機能しません
🎜>この文章はどう書けばいいでしょうか? ?
------解決策---------
a_sort = 0, a_sort で注文から * を選択, a_date desc
試してみましょう~
-----解決策---------
とは0は昇順に参加しないということですか?

昇順で a_sort を押すと、0 が最初にランク付けされます。あなたが望むのは、0 以外を昇順で最初に並べ替え、最後に 0 を並べ替えてから、全体を新しい順に並べ替えることです。

SELECT * FROM `a` order by a_sort>0 desc,a_sort asc, a_date desc;
-----解決策----------- - --------
... a_sort>0 desc, a_sort, a_date desc

a_sort a_date <br />1      1403172594 <br />2      1403056323 <br />4      1403056888 <br />5      1403056634 <br />6      1402655021 <br />0      1403172558 <br />0      1403172542 <br />0      1403056816
ログイン後にコピー

これで何か問題はありますか?

-----解決策---------
select * from a order by if ( a_sort != 0,1,0) desc, a_sort asc,a_date desc

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