IN() を使用した指定されたシーケンスによる MySQL の順序付け
この質問は、ID の配列に基づいて特定の順序でデータベース レコードを取得することを中心に展開します。 PHPで提供されます。課題は、結果が IN() メソッドの ID の順序と確実に一致するようにすることです。
これを達成するために、推奨されるソリューションでは FIELD 関数を利用します。 FIELD は主に文字列操作を目的としていますが、数値もシームレスに操作できます。 ORDER BY 句で FIELD 関数を使用すると、レコードの希望の順序を明示的に指定できます。
たとえば、次の SQL ステートメントを考えてみましょう。
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
このステートメントでは、 field_name は、ID を含む列を表します。括弧内の数字は、レコードを取得する順序を表します。したがって、field_name 列に値 (3,2,5,7,8,1) が含まれている場合、レコードは 3、2、5、7、8、1 の順序で返されます。
以上がIN() を使用して特定のシーケンスで MySQL レコードを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。