MySQL データベースを使用する場合、特定のセットを使用してレコードを並べ替える必要がある状況が発生することがあります。列の値。これは、事前定義された順序でレコードを並べ替えたり、並べ替え順序を変更しても一貫した並べ替えを維持したりするなど、さまざまなシナリオで役立ちます。
そのような解決策の 1 つは、FIELD 関数と組み合わせて 'ORDER BY' 句を活用することです。 FIELD 関数を使用すると、並べ替え順序を決定する値のリストを指定できます。
このアプローチの構文は次のとおりです。
SELECT * FROM table ORDER BY FIELD(column_name, value1, value2, ...)
この例では、レコードを ID で 1、5、4、3 の順に並べ替えたいとします。これは、次のコマンドを使用して実現できます。クエリ:
SELECT * FROM table ORDER BY FIELD(ID, 1, 5, 4, 3)
このクエリは、テーブルに定義されている現在の並べ替え順序に関係なく、指定された順序でレコードを返します。
これが必要な理由:
質問で述べたように、このアプローチは、一定間隔で並べ替え順序をランダムに変更する必要がある場合に特に便利です。ただし、このシナリオではページネーションが問題になる可能性があることに注意してください。
代替アプローチ:
主にページネーションと複数のページにわたる一貫した並べ替え順序の維持に関心がある場合は、別の方法があります。検討できるアプローチ:
以上が「ORDER BY」を使用して特定の ID 値で MySQL レコードを並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。