Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die letzten N Zeilen in aufsteigender Reihenfolge von MySQL ab?

Wie rufe ich die letzten N Zeilen in aufsteigender Reihenfolge von MySQL ab?

Susan Sarandon
Freigeben: 2024-12-13 00:17:18
Original
313 Leute haben es durchsucht

How to Retrieve the Last N Rows from MySQL in Ascending Order?

Die letzten N Zeilen aus MySQL in ASC-Reihenfolge abrufen

Beim Versuch, die letzten N Zeilen aus einer MySQL-Datenbank abzurufen, kann es schwierig sein, sie in aufsteigender Reihenfolge anzuordnen. Die Standard-DESC-Reihenfolge schlägt fehl, wenn Zeilen manipuliert werden können. Ebenso kann die Verwendung einer WHERE-Klausel zur Auswahl von Zeilen mit IDs, die größer als die maximale ID minus N sind, fehlschlagen, wenn Zeilen gelöscht werden.

Um diese Herausforderungen zu bewältigen, kann eine Unterabfrage verwendet werden:

SELECT * FROM
(
 SELECT * FROM table ORDER BY id DESC LIMIT 50
) AS sub
ORDER BY id ASC;
Nach dem Login kopieren

Diese Abfrage wählt zunächst die letzten 50 Zeilen aus der Tabelle „table“ in absteigender Reihenfolge aus, indem sie die LIMIT-Klausel verwendet. Das Ergebnis dieser Unterabfrage wird in der Tabelle „sub“ gespeichert. Schließlich wird die Unterabfrage selbst in aufsteigender Reihenfolge nach der Spalte „id“ sortiert.

Durch die Verwendung einer Unterabfrage wird die Auswahl der letzten N Zeilen vom Sortiervorgang isoliert. Dadurch wird sichergestellt, dass immer die letzten N Zeilen ausgewählt werden, auch wenn Zeilen zur Originaltabelle hinzugefügt oder daraus gelöscht werden. Die innere Abfrage der Unterabfrage sortiert die Zeilen in absteigender Reihenfolge, während die äußere Abfrage das Ergebnis der Unterabfrage in aufsteigender Reihenfolge sortiert.

Das obige ist der detaillierte Inhalt vonWie rufe ich die letzten N Zeilen in aufsteigender Reihenfolge von MySQL ab?. 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