見出し画像

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

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 のトップページはこちら

この記事が気に入ったらサポートをしてみませんか?