Ich habe eine Datenbank mit allen Städten der Welt.SQL: lösche doppelte Zeilen mit Klausel
und wenn ich this Abfrage ausführen kann ich sehen, es gibt Doppelzimmer:
ich diese Abfrage bereits verwendet, um alle doppelten Zeilen zu löschen:
WITH CTE AS
(
SELECT *,ROW_NUMBER()
OVER (PARTITION BY Country, City, AccentCity, Region, Population, latitude, Longitude
ORDER BY Country, City, AccentCity, Region, Population, latitude, Longitude) AS RN
FROM ExperimentWorld
)
DELETE FROM CTE WHERE RN<>1
würde ich jetzt wieder laufen und lösche alle Spalten, in denen latitude
und Longitude
gleich sind und wenn zwei Zeilen die gleichen wie im obigen Bild sind, möchte ich diejenige behalten, wo population
einen Wert hat und löschen das mit population
'0'
hinzufügen where-Klausel. Löschen von cte wo ... Population <1 und .... – scsimon