MySQL で「IN」句を使用した結果の順序付け
「IN」句を使用して大きなテーブルからデータを選択する場合、多くの場合、指定された値と同じ順序で結果を順序付けることが望ましいです。
順序を維持するための考えられる解決策の 1 つは、一時テーブルを構築して結合を実行することです。ただし、この方法は大規模なデータセットでは非効率的になる可能性があります。
より効率的なアプローチは、ORDER BY 句内で MySQL の FIELD() 関数を利用することです。次のクエリは、この手法を示しています。
SELECT * FROM your_table WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);
FIELD() 関数は、指定されたリスト内の値の位置を返します。これを ORDER BY 句で使用すると、結果は "IN" 句にリストされた値と同じ順序で並べ替えられます。
このソリューションは、" を使用してデータを選択するときに順序を維持する効率的な方法を提供します。 IN" 句、特に大規模なデータセットの場合。
以上がMySQL で結果を「IN」句の値と同じ順序で並べるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。