ホームページ >データベース >mysql チュートリアル >WHERE IN 句の順序に基づいて行を並べ替えるにはどうすればよいですか?
ORDER BY FIELD を使用した WHERE IN 句に従って行を並べる
データベース クエリでは、WHERE IN 句を使用して、次の条件に基づいてデータをフィルタリングできます。指定された値のリスト。ただし、デフォルトでは、返される行は句で指定した順序と異なる場合があります。
WHERE IN 句で指定された順序に従って行を並べるには、ORDER BY FIELD( ) 関数。この関数は 2 つの引数を取ります:
たとえば、次のクエリがあるとします。
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
これは、ID の昇順で行を返します。ORDER BY FIELD() 関数を使用して、 WHERE IN 句で指定された順序で行:
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
このクエリでは、ORDER BY FIELD() 関数は ID フィールドによって行を並べ替えますが、その順序は 118、17、113 です。
この手法を使用すると、WHERE IN 句で指定された順序に従って行を簡単に並べ替えることができ、行が目的の順序で返されるようにすることができます。
以上がWHERE IN 句の順序に基づいて行を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。