Redshiftにテーブルがあり、何とか削除する必要がある重複した行があります。私は各user_id、レベル、およびタイプレベルアップに対して1つの行だけを残したいと思う。ユーザーはレベルごとに1つのレベルを上げることしかできません。テーブルの例は次のようになります。Amazon Redshift DBの重複行を削除する手助けが必要
version date timestamp user_id level type
1.0.0 2016-05-10 2016-05-10 14:53:58 1234 13 levelup
1.0.0 2016-05-10 2016-05-10 14:53:25 1234 13 levelup
1.0.0 2016-05-10 2016-05-10 14:52:03 1234 13 levelup
1.0.0 2016-05-10 2016-05-10 14:52:03 1234 13 levelup
1.0.0 2016-05-10 2016-05-10 14:52:03 1234 13 levelup
私は、他のデータベースのために働くが、赤方偏移で動作することは何も見つかっていないクエリに探してみました。 TOP
またはmin(timestamp)
を使用して、何個の重複があるか分かっていても、LIMIT
を使用することはできません。私は、自己結合テーブルを使用すると、何もユニークな比較ができないので、どちらもうまくいかないと思いますか?
すべてのユニークな行を新しいテーブルにコピーする必要はありませんか?ありがとう!
これは、すべての行をバック返すように見えましたか?私は正しい行をターゲットとするまでデータを削除するのに疲れているので、最初に「SELECT」を実行しました。しかし、私はこれが行1に割り当てられた1つを除くすべてのものを対象とすることになっているのを見ていますが、そのようには見えませんでした。 – eriye9
こんにちは、私は、クエリを変更しました。 select文を再度試すことができますか?これを動作させるには、idカラムを作成する必要があります。一意のIDを持つようにテーブルを変更できますか? –
残念ながら、私はこのテーブルに列を追加できません。ユニークなIDを持たないことは、私が直面している問題です。 – eriye9