ホームページ >データベース >mysql チュートリアル >UNION と組み合わせた複数の SELECT クエリの結果を並べ替える方法

UNION と組み合わせた複数の SELECT クエリの結果を並べ替える方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-11 07:12:41350ブラウズ

How to Order Results from Multiple SELECT Queries Combined with UNION?

SELECT クエリと UNION クエリを組み合わせた結果の並べ替え

SELECT を使用して複数の 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 >= 20;</code>

このクエリは、Student テーブル内の 2 つの異なるグループからデータを選択します。 ただし、どちらかの ORDER BY name ステートメント内に単純な SELECT 句を配置しても、結合された結果は正しく並べ替えられません。

解決策

正しいアプローチは、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 >= 20
ORDER BY name;</code>

これにより、ORDER BY 句が UNION 操作によって生成された完全なデータセットに対して動作し、目的の並べ替えられた出力が保証されます。

以上がUNION と組み合わせた複数の SELECT クエリの結果を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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