ホームページ >データベース >mysql チュートリアル >複数の UNION SQL クエリの結果を並べ替えるにはどうすればよいですか?
UNION を使用した結合 SQL クエリの結果の並べ替え
SQL で UNION
を使用して複数の SELECT
ステートメントの結果を結合する場合、最終出力を並べ替える必要がある場合があります。 UNION
で順序付けがどのように機能するかを理解することが重要です。
次の例を考えてみましょう:
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30;</code>
個々の ORDER BY
ステートメントに SELECT
句を追加するだけでは、最終的に結合された結果は 順序付けされません。 各サブクエリ内の ORDER BY
句は、結合される前の特定のサブクエリの結果にのみ関連します。
結合された結果セットを正しく並べ替えるには、ORDER BY
句を最後の ステートメントの後UNION
に配置します。
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30 ORDER BY name;</code>
この改訂されたクエリでは、ORDER BY name
句は UNION
操作によって生成されたデータセット全体に適用されます。 結合された結果は 1 つのテーブルとして扱われ、name
列によってアルファベット順に並べ替えられます。これにより、どの元のサブクエリがデータを提供したかに関係なく、適切な順序付けが保証されます。
以上が複数の UNION SQL クエリの結果を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。