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