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