100万行を超えるデータと20以上の列を持つテーブルがあります。
テーブル(tableX)内で、1つの特定の列(troubleColumn)で重複レコード(〜80k)を識別しました。
可能であれば、元のテーブル名を保持し、問題のある列から重複したレコードを削除したい場合は、同じスキーマを使用して、重複のない新しいテーブル(tableXfinal)を作成できます。
私はSQLや他のプログラミング言語に堪能ではないので、私の無知を許してください。
delete from Accidents.CleanedFilledCombined
where Fixed_Accident_Index
in(select Fixed_Accident_Index from Accidents.CleanedFilledCombined
group by Fixed_Accident_Index
having count(Fixed_Accident_Index) >1);
テーブルを書き換えるクエリを実行することで重複を削除できます(宛先と同じテーブルを使用するか、新しいテーブルを作成し、必要なものがあることを確認してから、古いテーブルにコピーします)。
機能するはずのクエリは次のとおりです。
SELECT *
FROM (
SELECT
*,
ROW_NUMBER()
OVER (PARTITION BY Fixed_Accident_Index)
row_number
FROM Accidents.CleanedFilledCombined
)
WHERE row_number = 1
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加