Ich wollte zuerst n Zeilen oder letzte n Zeilen aus einer Tabelle in Teradata löschen. Aber ich bekomme keine korrekte Abfrage dafür. Kann mir bitte jemand sagen wie ich das machen kann?Teradata: Löschen n Zeilen aus einer Tabelle
Antwort
Ich habe keine Erfahrung mit Teradata arbeiten, aber wenn ich mit SQL arbeite ich werde es so machen:
Delete From |TableName| where |the ID column Name|
IN (Select top(n) |the ID column Name| from |TableName|)
So zum Beispiel, wenn ich einen Kunden Tabelle haben und diese Tabelle enthält eine CustomerID als Primärschlüsselspalte und Kundenname, und ich möchte den ersten 10 Zeilen löschen i so sein würde:
Delete From Customer where CustomerID
IN (Select top(10) CustomerID from Customer)
ich hoffe, dass es
Ohne ORDER BY für CustomerID gibt TOP Zeilen von der AMP zurück, die zuerst beendet wird. Dies bedeutet jedes Mal, wenn die Abfrage ausgeführt wird, ein zufälliges Ergebnis. Dies kann unerwünschte Folgen haben, wenn es in einer Produktionsumgebung blind läuft. –
Die obige Abfrage hat nicht funktioniert und es wird ein Fehler angezeigt: Top N wird in der Unterabfrage nicht unterstützt –
Top N in su helfen bselect ist in delete eingeschränkt, nicht in anderem Kontext.
eine flüchtige Tabelle statt subselect erstellen So
create volatile table myDel as (
select id from myTable
sample .25
) with data on commit preserve rows;
delete T
from myTable T, myDel D
where T.id = D.id;
25% der Daten löschen (BTW, Probe viele Möglichkeiten hat, wie das Beispiel erstellen)
mit flüchtigem Tisch und oben n, und einige Bestellkriterien können Sie klar definieren, was oben/zuletzt ist.
create volatile table myDel as (
select top 3 id from myTable order by col_1
) with data on commit preserve rows;
- 1. Teradata: Wie kann ich eine Fremdschlüsseleinschränkung aus einer Tabelle löschen?
- 2. Löschen mehrerer Zeilen aus Tabelle
- 3. Löschen Sie Top-N-Zeilen aus einer Tabelle mit einer Sortierung (nach "Spalte" sortieren)
- 4. Leere Zeilen einer Tabelle löschen
- 5. Löschen von doppelten Zeilen aus DB-Tabelle
- 6. löschen/bearbeiten Zeilen aus ODBC-Tabelle
- 7. Zeilen löschen aus der Tabelle nach Klassennamen
- 8. Löschen und Einfügen mehrerer Zeilen aus einer Excel.Interop-Tabelle
- 9. So löschen Sie ausgewählte Zeilen aus einer Tabelle mit jquery
- 10. So löschen Sie doppelte Zeilen aus einer Tabelle in mysql
- 11. löschen viele Zeilen aus einer sehr großen Tabelle Cassandra
- 12. kann Zeilen aus einer Remotezugriffsdatenbank nicht löschen
- 13. Wie lösche Zeilen in einer Teradata-Tabelle, die nicht in einer anderen Tabelle sind?
- 14. Löschen einer Zeile aus Tabelle
- 15. MSSQL Abfrage doppelte Zeilen aus einer Tabelle zu verlassen unterschiedliche Zeilen in der Tabelle löschen
- 16. Löschen Nullzeilen aus einer Tabelle in R
- 17. Zeilen aus mehreren Tabellen löschen
- 18. Excel 2010 Inhalt aus einer Tabelle löschen
- 19. Löschen von Duplikaten aus einer großen Tabelle
- 20. Löschen/Löschen von Datenbanken in Teradata
- 21. MS SQL, wie n Zeilen aus der Tabelle wählen, auch wenn Tabelle n - x Reihen
- 22. Löschen von leeren Zeilen aus einer Datei
- 23. Ändern des Primärindex einer Tabelle in Teradata
- 24. alle, aber Top-n aus Datenbanktabelle löschen in SQL
- 25. Vergleichen Sie Zeilen in verschiedenen Spalten Teradata
- 26. Masse eine Tabelle aus Zeilen aus einer anderen Tabelle
- 27. So löschen Sie die obersten n Zeilen einer SQL Server-Tabelle in asp.net?
- 28. Wie wählt man die ersten N Zeilen aus einer Tabelle in T-SQL aus?
- 29. Gruppierung von Zeilen aus einer MySQL-Tabelle in einer anderen
- 30. wie aus mysql mehrere Zeilen in Abhängigkeit von anderen Zeilen in einer anderen Tabelle zu löschen
Definieren * erste n Zeilen *. Es gibt keine * erste * oder * letzte * Zeile in einer Tabelle, es ist eine ungeordnete Reihe von Zeilen :-) – dnoeth
Ich meine, keine Zeilen von Anfang oder Ende zu sagen. –
Wie definieren Sie * Anfang oder Letzte *? – dnoeth