ホームページ > データベース > mysql チュートリアル > MySQL でソートするために「IN()」関数の値の順序を保持する方法は?

MySQL でソートするために「IN()」関数の値の順序を保持する方法は?

Patricia Arquette
リリース: 2024-11-12 18:07:01
オリジナル
805 人が閲覧しました

How to Preserve the Order of Values in `IN()` Function for Sorting in MySQL?

MySQL: ソート時に IN() 関数の順序を保持する

IN() 関数を使用してレコードを取得する場合、保持することが望ましい場合があります。並べ替えられた結果で値が関数に入力された順序。デフォルトでは、MySQL はデータベースの内部ソート メカニズムに基づいて結果を並べ替えます。

解決策:

IN() 関数の値の順序で結果を並べ替えるには、FIELD関数を活用します。 FIELD 関数は、残りの文字列リスト内の最初の文字列の位置を返します。

次のクエリを考えてみましょう:

SELECT id, name
FROM mytable
WHERE name IN ('B', 'A', 'D', 'E', 'C')
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')
ログイン後にコピー

このクエリでは、FIELD 関数が ORDER BY 内で使用されています。句。これにより、結果が IN() 関数の値 ('B'、'A'、'D'、'E'、'C') と同じ順序で並べ替えられるようになります。

パフォーマンスの最適化:

FIELD 関数を使用して目的の並べ替えを実現できますが、列のインデックス付けを検討することをお勧めします。これは希望する並べ替え順序を表します。この列にインデックスを作成することで、MySQL は並べ替えプロセスを最適化し、パフォーマンスを向上させることができます。

以上がMySQL でソートするために「IN()」関数の値の順序を保持する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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