Löschen von doppelten Zeilen mit Analytischen Funktionen

Können wir löschen doppelte Zeilen über analytische Funktionen? Ich meine, mit row_number() oder rank oder dense_rank() in der Sql-Abfrage in Oracle?

  • Es ist nicht ganz klar, was Sie für Fragen. Schreiben Sie die Abfrage, die Sie möchten, um zu arbeiten, und es hier posten (mit irgendeiner Fehlermeldung, wenn Sie eine erhalten), auf diese Weise Menschen eine bessere Vorstellung von genau das, was Sie wollen.
  • Die Antwort auf diese Frage ist: "ja". Vielleicht könnte jemand ein bisschen mehr hilfreich und bieten eine thoroug Erklärung, wenn Sie erklären könnte, was Sie zu tun versuchen, wie von Mat vorgeschlagen hat.
  • Ich bin versucht zu löschen doppelte Zeilen. Ich weiß, das selbe ist auch mit rowid in oracl.. gibt es eine andere Möglichkeit??
  • Nicht, ohne einen größeren Ressourcen-intensive sql-Anweisung als nötig. Irgendeinen Grund, warum Sie wirklich nicht wollen, verwenden Sie die rowid?
  • Ich versuche nur, zu wissen, ob dies getan werden könnte, über Analytische Funktionen, ohne rowid!!
  • Um diese Erweiterung, die Sie nicht erreichen können, löschen von Zeilen mit analytischen Funktionen in einer einzigen Anweisung. Sie können es mit mehreren Anweisungen, wo Sie die eindeutigen Zeilen in eine eigene Tabelle. Und ersetzen Sie die aktuelle Tabelle mit dieser einzigartigen Daten.
  • Wenn Sie keine eigene Spalte in der Tabelle und Zeilen, die sind 100% gleich, Sie müssen etwas zu identifizieren, diese Zeilen. Was passiert zu sein rowid. Eine andere option wäre, fügen Sie einen Primärschlüssel Spalte der Tabelle, füllen Sie es mit einer Sequenz, und verwenden Sie diese zu identifizieren, Ihre Zeilen.

Schreibe einen Kommentar