メインコンテンツへスキップ
見出し画像
Photo byakisuke0925

【第102回】 SQL を使って同じ項目に含まれる重複レコードを見つける方法

    Nobuyuki Watanabe

    Salesforce Marketing Cloud では、データエクステンション内の特定の項目に重複したレコードが存在するかどうかを調査したい場合があります。たとえば、データエクステンション内でのメールアドレスの重複を確認したい時に便利です。

    このような場合には、以下のような SQL クエリを使用することで、重複するレコードを簡単に特定することができます。

    ■ 重複分を削除して、重複しているレコードを表示する

    (DISTINCT を使うことで、重複が除外されます。DISTINCT TOP は Query Studio で使用できません。)

    SELECT DISTINCT a.[フィールド名]
    FROM [データエクステンション名] a
    WHERE (SELECT COUNT(*)
           FROM [データエクステンション名] b
           WHERE a.[フィールド名] = b.[フィールド名]) >= 2

    ■ 重複分は削除せずに、重複しているレコードを表示する

    SELECT TOP 10000000 a.[フィールド名]
    FROM [データエクステンション名] a
    WHERE (SELECT COUNT(*)
           FROM [データエクステンション名] b
           WHERE a.[フィールド名] = b.[フィールド名]) >= 2
    ORDER BY a.[フィールド名] ASC

    「上のクエリ」と「下のクエリ」の使い分けについて

    • 上のクエリ:このクエリは、実際に重複しているレコード自体を特定するのに適しています。重複しているデータを調査し、重複の存在を確認したい場合に有効です。

    • 下のクエリ:このクエリは、重複しているレコードが削除されるわけではありません。代わりに、取得されたレコードの数を数えることで、それぞれのレコードが何件重複しているのかを把握するのに役立ちます。

    用途に応じてこれらのクエリを使い分けることで、データの重複を効果的に管理し、必要な情報を正確に把握することができます。


    なお、Query Studio では、コントロール +「H」の「置換」機能を利用して、[フィールド名] と [データエクステンション名] を一括で置換することができますので、効率よく実施してください。

    画像

    今回は以上です。


    Click here for English version

    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。