「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > WHERE IN 句の順序に基づいて SQL 結果を並べ替えるにはどうすればよいですか?

WHERE IN 句の順序に基づいて SQL 結果を並べ替えるにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:568

How to Order SQL Results Based on WHERE IN Clause Order?

WHERE IN 句の順序に従った結果の並べ替え

SQL で WHERE IN 句を使用すると、通常、結果は列の自然な順序で並べ替えられます。順序付け (通常は昇順)。ただし、特定のシナリオでは、IN 句で指定したのと同じ順序で行を返したい場合があります。

解決策: フィールドによる順序付け

並べ替えるにはWHERE IN 句で指定された順序に従って行を移動するには、ORDER BY FIELD 関数を使用できます。この関数は 2 つの引数を受け取ります:

  • 並べ替える列
  • 希望の順序を表す値のリスト

この場合、次のように使用できます。 IN 句で指定された順序で ID 列によって結果を並べ替える次のクエリ:

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);

このクエリは、118、17、113、23、72.

の順序で行を返します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3