ホームページ  >  記事  >  データベース  >  IN() 句で指定された順序で MySQL 結果を並べ替えるにはどうすればよいですか?

IN() 句で指定された順序で MySQL 結果を並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-12 17:28:01702ブラウズ

How to Sort MySQL Results by the Order Specified in the IN() Clause?

MySQL: IN() 仕様の順序による結果のソート

IN() 句を使用してデータを取得する場合、その順序は維持されます。値を指定すると、出力の読みやすさと使いやすさが向上します。この記事では、IN() 関数内の値のシーケンスに基づいて結果を並べ替えるソリューションを検討します。

次のクエリについて考えてみましょう。

このクエリは次の出力を返します。行の順序が IN() 句の順序と一致しません:

| ID | 名前 |
^--------^-----------^
| 5 | B |
| 6 | B |
| 1 | D |
| 15 | E |
| 17 | E |
| 9 | C |
| 18 | C |

IN() 句で指定された順序で結果を並べ替えるには、FIELD 関数を利用できます。 FIELD 関数は、最初の引数として値を受け取り、残りの引数リスト内のその値の位置を返します。

次のクエリは、FIELD 関数を使用して、「名前」の位置に基づいて結果を並べ替えます。リスト内の列の値 ('B'、'A'、'D'、'E'、'C'):

このクエリは次を返します。出力:

| ID | 名前 |
^--------^-----------^
| 5 | B |
| 6 | B |
| 1 | D |
| 15 | E |
| 17 | E |
| 9 | C |
| 18 | C |

ご覧のとおり、行は元々 IN() 句で指定されていた順序で並べられています。

以上がIN() 句で指定された順序で MySQL 結果を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。