ホームページ > データベース > mysql チュートリアル > SQL Server で STRING_AGG を使用して個別の値を連結する方法

SQL Server で STRING_AGG を使用して個別の値を連結する方法

Patricia Arquette
リリース: 2025-01-24 07:07:08
オリジナル
873 人が閲覧しました

How to Concatenate Distinct Values Using STRING_AGG in SQL Server?

SQL Serverでの明確な値の連結にstring_aggを使用する

:実用的なアプローチ

SQL Serverのstring_agg関数は、複数の値の連結を単一の文字列に単純化します。 ただし、string_aggとの明確な値の連結を直接達成するには、回避策が必要です。この記事では、大規模なデータセットであっても、string_aggを使用して異なる値をカウントおよび連結する2段階のプロセスの概要を説明します。

解決策:

この方法では、アプローチによる2段階グループを使用します:

  1. 重複を排除します:最初の操作により重複する行が削除され、指定された列の一意の組み合わせのみが考慮されるようにします。 GROUP BY

    <code class="language-sql">WITH Sitings AS (
     SELECT * FROM (VALUES
         (1, 'Florida', 'Orlando', 'bird'),
         (2, 'Florida', 'Orlando', 'dog'),
         (3, 'Arizona', 'Phoenix', 'bird'),
         (4, 'Arizona', 'Phoenix', 'dog'),
         (5, 'Arizona', 'Phoenix', 'bird'),
         (6, 'Arizona', 'Phoenix', 'bird'),
         (7, 'Arizona', 'Phoenix', 'bird'),
         (8, 'Arizona', 'Flagstaff', 'dog')
     ) F (ID, State, City, Siting)
    )</code>
    ログイン後にコピー
  2. 集合体と連結:

    2番目のは異なるカウントを計算し、string_agg。を使用して一意の値を連結します。 GROUP BY

    <code class="language-sql">SELECT
     State,
     City,
     COUNT(1) AS [# Of Sitings],
     STRING_AGG(Siting, ',') AS Animals
    FROM (
     SELECT DISTINCT
         State,
         City,
         Siting
     FROM Sitings
    ) AS CTE_Animals
    GROUP BY
     State,
     City;</code>
    ログイン後にコピー
結果の出力:

クエリは、異なるカウントと連結値を要約するテーブルを生成します:

この効率的な手法により、広範なデータセットを扱う場合でも、正確な明確な値の連結とカウントが保証されます。 このアプローチは、連結された文字列を提供すると同時に、

の機能を効果的に複製します。

以上がSQL Server で STRING_AGG を使用して個別の値を連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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