Heim > Datenbank > MySQL-Tutorial > Wie behält man nur die obersten N Zeilen in einer SQL-Datenbanktabelle bei?

Wie behält man nur die obersten N Zeilen in einer SQL-Datenbanktabelle bei?

Patricia Arquette
Freigeben: 2024-12-31 15:25:17
Original
711 Leute haben es durchsucht

How to Keep Only the Top N Rows in a SQL Database Table?

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage