ホームページ >データベース >mysql チュートリアル >複数の UNION SQL クエリの結果を並べ替えるにはどうすればよいですか?

複数の UNION SQL クエリの結果を並べ替えるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-11 06:16:41580ブラウズ

How Can I Order Results from Multiple UNIONed SQL Queries?

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 サイトの他の関連記事を参照してください。

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