FIELD 関数を使用して IN() 句の順序で MySQL の結果を並べ替える方法

Susan Sarandon
リリース: 2024-11-17 13:59:02
オリジナル
574 人が閲覧しました

How to Order MySQL Results by IN() Clause Order using the FIELD Function?

FIELD 関数を使用して IN() で結果を並べ替える Order

MySQL では、ORDER BY 句を使用してクエリ結果を並べ替えることができます。昇順または降順。 IN() メソッドを使用する場合、結果が IN() 句の ID と同じ順序で返されることを保証するのが難しい場合があります。幸いなことに、FIELD 関数という解決策があります。

FIELD 関数は、フィールド名と値のリストという 2 つのパラメーターを受け取ります。フィールド値に一致するリスト内の最初の値のインデックスを返します。たとえば、次のクエリは、値が 3、2、または 1 である行の列 "id" に対して値 1、2、3 を返します。

SELECT id, FIELD(id, 3, 2, 1) AS ordering FROM table_name;
ログイン後にコピー

結果を順序付けするにはIN() の順序で、IN() 句の値を 2 番目のパラメータとして FIELD 関数に渡すだけです:

SELECT id, FIELD(id, 4, 7, 3, 8, 9) AS ordering FROM table_name;
ログイン後にコピー

これにより、順序で結果が返されます。指定:

4 - Article 4
7 - Article 7
3 - Article 3
8 - Article 8
9 - Article 9
ログイン後にコピー

以上がFIELD 関数を使用して IN() 句の順序で MySQL の結果を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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