ホームページ >データベース >mysql チュートリアル >FIELD 関数を使用して IN() 句の順序で MySQL の結果を並べ替える方法

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-17 13:59:02666ブラウズ

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 サイトの他の関連記事を参照してください。

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