IN() メソッドを使用した MySQL の順序付け結果
順序付けされた ID 番号を含む PHP 配列を操作する場合、取得する必要がある場合があります。指定された順序を維持しながら、MySQL データベースから対応するレコードを取得します。これは、MySQL IN() メソッドを使用して実現できます。ただし、IN() メソッドは通常、結果内の ID の順序を維持しません。
解決策: FIELD() 関数を利用する
この問題を解決するには、MySQL FIELD() 関数を使用できます。 FIELD() 関数は伝統的に文字列操作に関連付けられていますが、数値でも効果的に使用できます。
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
この例では、ORDER BY 句で FIELD() 関数を使用して、括弧内で指定された順序で、返されるレコードが PHP 配列内の ID のシーケンスと一致することを確認します。
たとえば、field_name に次の ID 番号が含まれている場合、次の順序: 9、4、5、8、3、結果は次のようにソートされます:
4 - Article 4 9 - Article 9 5 - Article 5 8 - Article 8 3 - Article 3
FIELD() 関数を ORDER BY 句に組み込むことにより、開発者は順序付けされた結果を効率的に取得できます。数値 ID 値を操作する場合でも、MySQL IN() メソッドを使用します。
以上がIN() メソッドを使用して MySQL の結果を順序付けし、順序を維持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。