テーブルには何百万というレコードがあります。 Redshiftで私のテーブルにある重複行の数を計算する必要があります。私はレッドシフトテーブルに存在する重複行の数を計算するためのより速い方法
select
sum(cnt) from (select <primary_key>
, count(*)-1 as cnt
from
table_name
group by
<primary_key> having count(*)>1
- は、同じことを達成するためのより高速な方法があり、クエリの下に使用してそれを達成するだろうか?
- サブクエリを使用せずに単一のクエリでこれを実現する方法はありますか?
ありがとうございます。プライマリとしてあなたの列を指定している場合を除き、複製の基準は唯一の、そして
SELECT count(1)-count(distinct <primary_key>) FROM your_table
がうまくいく主キーを繰り返している場合
SELECT Column_name, COUNT(*) Count_Duplicate
FROM Table_name
GROUP BY Column_name
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
「重複する行」はどのように定義しますか?すべての列は重複する必要がありますか、重複をより簡単に識別できる一意のキーを含む列はありますか? –