Order By で特定の ID 値を使用した MySQL での並べ替え
「order by」を使用して、事前定義された ID 値のセットに基づいて並べ替えを実現するにはMySQL の " 句では、次のように FIELD 関数を使用します。
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
ここで「table」は対象のテーブルを表します。
FIELD 関数の理解
FIELD 関数は、指定された値のリスト内の指定された値の位置を返します。この例では、「ID」列の値が、提供された ID 値のリスト (1、5、4、および 3) と比較されます。結果はリスト内で一致する ID 値のインデックスであり、レコードはこれらのインデックスに基づいて並べ替えられます。
アプリケーション
このアプローチを使用すると、次のことを確認できます。レコードは、指定された ID 値に基づいて特定の順序で取得されます。これは、ID 列の実際の値に基づいていない、事前に決定された並べ替え順序が必要な場合に特に便利です。
ページネーションの問題に対処するための代替アプローチ
元のこの質問では、ユーザーが複数のページを閲覧している間に並べ替えが変化するページネーションに関する懸念も提起されました。これに対処するには、テーブルにタイムスタンプまたはシーケンス番号の列を追加することを検討してください。訪問時に、現在のタイムスタンプまたはシーケンス番号をセッション変数に保存します。後続のページを取得するときは、ID 列の代わりにこのタイムスタンプまたはシーケンス番号を使用して並べ替えます。このようにして、ユーザーは、新しいタイムスタンプまたはシーケンス番号が生成されるまで、同じ並べ替えられた結果を取得します。
以上がORDER BY を使用して、MySQL の結果を ID の特定の順序で並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。