Ich habe eine Tabelle in meiner Postgres-Datenbank, wo ich vergessen habe, einen eindeutigen Index einzufügen. Wegen dieses Index habe ich jetzt Werte dupliziert. Wie entferne ich die doppelten Werte? Ich möchte einen eindeutigen Index für die Felder translationset_Id und key hinzufügen.PostgresSQL wie doppelte Werte zu löschen
Antwort
Es scheint, dass Sie nur die Datensätze löschen möchten, die in Bezug auf die translationset_id
Spalte Duplikat sind. In diesem Fall können wir die Zeilennummernfunktion von Postgres verwenden, um zwischen doppelten Zeilen zu unterscheiden und diese Duplikate zu löschen.
WITH cte AS
(
SELECT t.*, ROW_NUMBER() OVER (PARTITION BY translationset_id, key) AS rnum
FROM yourTable t
)
DELETE FROM yourTable
WHERE translationset_id IN (SELECT translationset_id FROM cte WHERE rnum > 1)
Wo ist die Schlüsselspalte? "Ich habe den prtScr aktualisiert" –
@CecilBoye Ich habe aktualisiert danke. –
Ich glaube, Sie für diese fragen:
DELETE FROM tablename WHERE id IN (SELECT id FROM (SELECT id, ROW_NUMBER() OVER (partition BY column1, column2, column3 ORDER BY id) AS rnum FROM tablename) t WHERE t.rnum > 1);
Dies ist möglicherweise nicht vollständig korrekt. Es scheint, dass die Partition nur in den Spalten 'translationset_id' und' key' liegen sollte, nicht in anderen. –
Nun, das ist wie eine Blaupause, der Sie folgen können, um Ihr Problem zu lösen. Ich benutze es meistens für die Erinnerung an die Prozedur. – Kostasfra
Ich habe Ihre Antwort verbessert, gute Arbeit! –
delete from mytable
where exists (select 1
from mytable t2
where t2.name = mytable.name and
t2.address = mytable.address and
t2.zip = mytable.zip and
t2.ctid > mytable.ctid
);
- 1. Excel löschen doppelte Werte aus Zeilen
- 2. Array anordnen und doppelte Werte löschen
- 3. Löschen Sie doppelte Werte in PHP-Array
- 4. C# Wie doppelte Werte von ComboBox zu beseitigen?
- 5. Wie zu zählen als Auswahlkriterien in PostgresSQL
- 6. SQL: Doppelte Zeilen löschen? (PHP)
- 7. löschen doppelte Zeilen
- 8. löschen doppelte Fremdschlüssel
- 9. Löschen Sie bestimmte Schlüsselwörter und doppelte Werte in Excel-Feldern
- 10. Löschen (make null) doppelte Feldwerte
- 11. Doppelte Links zum Löschen
- 12. Doppelte Werte in PHP Array
- 13. Verwenden Laravel Sammlung doppelte Werte zu erhalten
- 14. Doppelte Werte innerhalb this.state.datasource
- 15. doppelte Werte in hash
- 16. Python entfernen doppelte Werte
- 17. Doppelte Zeilen löschen (nicht alle Duplikate löschen)
- 18. Löschen Sie doppelte E-Mails
- 19. aktualisiert mehrere Werte in einem jsonb Daten in PostgresSQL
- 20. Hibernate, doppelte Werte erhalten
- 21. löschen doppelte Datensätze außer einem
- 22. Wie doppelte Werte in PHP-Array zu erkennen?
- 23. wie in Eigenschaftsdatei zu schreiben, ohne alte Werte zu löschen
- 24. Pandas: löschen Sie doppelte Zeilen
- 25. Python - Wie mehrere Werte zu vergleichen und doppelte Werte zu entfernen?
- 26. PostgresSQL query_to_xml in JDBC PreparedStatement
- 27. Wie erhalten Sie Tabellensätze für doppelte Werte?
- 28. Doppelte Hash-Werte in Perl
- 29. Verwenden von Gruppen, nur doppelte NaNs löschen
- 30. Doppelte Spaltenwerte in SQL Reporting Services löschen
Beschreiben Sie, welche Werte Sie entfernen möchten. – jarlh
Zum sicheren Löschen [Verweise] (http://donotforgetitmaster.blogspot.in/2014/08/delete-duplicate-dato-from-redshift.html) – Viki888
Ich möchte den 2. Datensatz, den 4. Datensatz, den 7. Datensatz entfernen. 11. Rekord und 13. Rekord. (siehe Bild) –