Sie erhalten Streaming-Inserts mit möglichen doppelten Zeilen (eindeutige ID + Zeitstempel vorhanden). Welches Abfragemuster sollten Sie für interaktive Abfragen verwenden, die Duplikate ausschließen?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Verwenden Sie die ROW_NUMBER-Fensterfunktion mit PARTITION by unique ID zusammen mit WHERE row equals 1..
Warum dies die Antwort ist
Die ROWNUMBER-Fensterfunktion ist die effektivste Methode, um Duplikate basierend auf einer eindeutigen ID und einem Zeitstempel zu entfernen. Durch PARTITION BY uniqueid wird die Datenmenge nach jeder eindeutigen ID gruppiert. Innerhalb jeder Partition ordnet die Funktion den Zeilen eine fortlaufende Nummer zu. Wenn Sie dann WHERE rownumber = 1 anwenden, wählen Sie nur die erste Instanz jeder eindeutigen ID aus, was bei Streaming-Inserts mit Duplikaten die gewünschte deduplizierte Zeile liefert (oft die neueste, wenn ORDER BY im OVER-Klausel verwendet wird). Die Option ORDER BY DESK und LIMIT 1 würde nur eine einzige Zeile aus der gesamten Tabelle zurückgeben, nicht pro eindeutiger ID. GROUP BY mit SUM ist für Aggregationen gedacht, nicht für die Auswahl einzelner, deduplizierter Zeilen. Die LAG-Funktion vergleicht eine Zeile mit der vorherigen und ist nicht direkt dafür geeignet, die erste oder letzte Instanz eines Duplikats zu identifizieren.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich