【第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 のトップページはこちら
この記事が気に入ったらサポートをしてみませんか?