ホームページ  >  記事  >  データベース  >  MySQL の「IN」句で結果を並べ替えるにはどうすればよいですか?

MySQL の「IN」句で結果を並べ替えるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 01:49:29459ブラウズ

How to Order Results in a MySQL

MySQL の "IN" 句の値による結果の並べ替え

MySQL の "IN" 句ステートメントでは、結果は通常、秩序のないやり方。ただし、句で指定された値に基づいて結果を並べ替える方法があります。

FIELD() 関数の使用

1 つの方法は、FIELD() を使用することです。 ) 関数。リスト内の指定された値の位置を返します。この機能を利用すると、結果を手動で希望の順序に並べ替えることができます。構文は次のとおりです。

ORDER BY FIELD(column, value1, value2, ..., valueN)

次の例を考えてみましょう。

SELECT * FROM account_records
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);

このクエリでは、結果は次のようになります。 FIELD() 関数の引数 (「IN」句の値) で指定された順序で返されます。

または、一時テーブルを使用する

前述のとおり、目的の並べ替えを実現するために一時テーブルを作成することも検討できます。この手順には次のものが含まれます:

  1. 「IN」句の値を使用して一時テーブルを作成します。
  2. メイン テーブルと一時テーブルを「id」列で結合します。
  3. 一時テーブルの値に基づいて結果を並べ替えます。

このアプローチはより汎用性の高いソリューションを提供できますが、単純な目的で FIELD() 関数を使用する場合に比べて効率が低くなります。並べ替え要件。

以上がMySQL の「IN」句で結果を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。