ホームページ > データベース > mysql チュートリアル > Oracle で SQL クエリ結果を連結するにはどうすればよいですか?

Oracle で SQL クエリ結果を連結するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-31 10:20:11
オリジナル
231 人が閲覧しました

How Can I Concatenate SQL Query Results in Oracle?

Oracle での SQL クエリの結果の連結

Oracle で SQL クエリの結果を連結するには、LISTAGG 関数を以下と組み合わせて利用できます。 CONCAT関数。この方法を使用すると、複数の行の値を単一の区切り文字列に結合できます。

たとえば、名前と価格に関するデータを含む次のテーブルを考えてみましょう。

| NAME | PRICE |
|---|---|
| A | 2 |
| B | 3 |
| C | 5 |
| D | 9 |
| E | 5 |
ログイン後にコピー

すべての値を表示するには単一行をカンマで区切って、次のクエリを使用できます:

SELECT
  LISTAGG(CONCAT(CONCAT(NAME, ','), PRICE), '|') WITHIN GROUP (ORDER BY NAME) AS CONCATDATA
FROM
  TABLE_NAME;
ログイン後にコピー

このクエリの仕組みは次のとおりです。動作:

  • LISTAGG 関数は、各行から連結された値を集計するために使用されます。
  • CONCAT 関数は、NAME 値と PRICE 値を単一の文字列に結合します。
  • 「|」 LISTAGG の引数は、連結された値の間で使用する区切り文字 (この場合はカンマ) を指定します。
  • WITHIN GROUP 句により、連結がグループ内 (この場合は NAME によってグループ化) 内で実行されることが保証されます。

結果の出力は、すべての連結された値がカンマで区切られた 1 行になります。必要に応じて:

CONCATDATA
--------------------
A,2|B,3|C,5|D,9|E,5|
ログイン後にコピー

以上がOracle で SQL クエリ結果を連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート