Rubrik: Datenbanken | VB-Versionen: VB2005 - VB2015 | 10.01.19 |
SQL: Auswahl der letzten n Datensätze einer Tabelle Dies ist ein einfacher Tipp für die Selection einer Anzahl von Datensätzen einer Tabelle, die am Ende der Tabelle stehen. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 2.560 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Man kennt ja die Schreibweise im Transact-SQL für die Auswahl einer Anzahl von Datensätzen, die am Anfang einer Tabelle stehen:
SELECT TOP 5 * FROM myTable
Für die Auswahl von Datensätzen, die am Ende einer Tabelle stehen, gibt es keine solch einfache Notation. Im Tipp zeige ich jetzt, wie man erreichen kann, dass eine gewünschte Anzahl von Datensätzen am Ende einer Tabelle ausgewählt werden, bspw. für eine Anzeige.
Es sei im folgenden Beispiel
die Anzahl der auszuwählenden Sätze gleich 5,
die Tabelle sei myTable,
ID das Primärschlüsselfeld.
Dann kann man schreiben:
SELECT * FROM myTable WHERE (ID NOT IN (SELECT TOP ((SELECT COUNT(*) AS Expr1 FROM myTable AS myTable_2) - 5) ID FROM myTable AS myTable_1))
Man kann bspw. noch ein ORDER BY ... zufügen.
Bei Ausführung werden die letzten 5 Datensätze (gemäß der Sortierung) ausgewählt.