Beibehalten der obersten Zeilen: Alle außer n aus einer Datenbanktabelle in SQL löschen
Wenn Sie vor der Aufgabe stehen, eine Tabelle in a zu kürzen In einer Datenbank besteht die Notwendigkeit, nur eine bestimmte Anzahl (n) Zeilen oben beizubehalten und den Rest zu eliminieren. Um dies effektiv zu erreichen, bietet SQL eine einfache Lösung.
Die DELETE-Anweisung kann verwendet werden, um alle Zeilen außer den obersten n zu entfernen. Die Syntax lautet wie folgt:
DELETE FROM TableName WHERE RowID NOT IN (SELECT TOP n RowID FROM TableName)
Diese Abfrage wählt alle Zeilen aus der TableName-Tabelle aus, mit Ausnahme derjenigen, die in der Unterabfrage erscheinen. Die Unterabfrage ruft die ersten n Zeilen-IDs aus der Tabelle ab.
Beispiel:
Betrachten Sie eine Tabelle mit dem Namen „Kunden“ mit Spalten wie „Kunden-ID“ und „Kundenname“. Um alle bis auf die 10 größten Kunden basierend auf „CustomerID“ zu löschen, kann die folgende Abfrage verwendet werden:
DELETE FROM Customers WHERE CustomerID NOT IN (SELECT TOP 10 CustomerID FROM Customers)
Hinweis:
Wie Chris scharfsinnig beobachtet hat, ist die Der Nachteil der Verwendung der TOP-Klausel in der Unterabfrage besteht darin, dass sie sich möglicherweise auf die Leistung auswirkt. Bei einmaligen Eingriffen stellt dies möglicherweise kein großes Problem dar, bei häufigem Gebrauch sollten jedoch alternative Vorgehensweisen in Betracht gezogen werden.
Das obige ist der detaillierte Inhalt vonWie behält man nur die obersten N Zeilen in einer SQL-Datenbanktabelle bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!