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

DDD
リリース: 2024-11-03 00:31:03
オリジナル
970 人が閲覧しました

How to Order Results from an

MySQL Select ステートメントの "IN" 句からの順序付けされた結果

"IN" 句を使用して特定のレコードに対して大きなテーブルをクエリする場合、デフォルトの結果の順序は一貫性がない可能性があります。 「IN」句の値と同じ順序で結果を取得するには、デフォルトの動作をオーバーライドする別のアプローチを検討する必要があります。

1 つのオプションは、FIELD 関数を利用することです。この関数は 2 つのパラメータを取ります。1 つ目は並べ替える列で、2 つ目は希望の並べ替え順序での値のカンマ区切りリストです。クエリに ORDER BY FIELD(column,values) 句を含めると、結果は値リストで指定された値の順序に従って並べられます。

たとえば、次のクエリは次の値を取得します。 「IN」句で指定された順序で ID を持つレコード:

SELECT * FROM your_table
WHERE id IN (5,2,6,8,12,1)
ORDER BY FIELD(id,5,2,6,8,12,1);
ログイン後にコピー

ここで、FIELD 関数は値の順序 (5、2、6、8、 12、1)。何百万行もの大規模なデータセットであっても、結果は指定された順序で返されます。

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

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