Allen Antworten hier fehlt eine ORDER BY-Klausel. SQL-Tabellen haben keine Standardreihenfolge, und ohne eine explizite ORDER BY-Funktion kann nicht festgestellt werden, welche der ersten 10 Ergebnisse
übersprungen werden sollen
Antworten:
125
Verwenden Sie LIMIT mit zwei Parametern. Verwenden Sie beispielsweise Folgendes, um die Ergebnisse 11-60 zurückzugeben (wobei Ergebnis 1 die erste Zeile ist):
Um alle Zeilen von einem bestimmten Versatz bis zum Ende der Ergebnismenge abzurufen, können Sie für den zweiten Parameter eine große Zahl verwenden. Diese Anweisung ruft alle Zeilen von der 96. bis zur letzten Zeile ab:
SELECT*FROM tbl LIMIT 95,18446744073709551615;
Natürlich sollten Sie 95durch ersetzen 10. Die große Zahl, die sie verwenden, ist übrigens 2 ^ 64 - 1.
Dies ist nützlich und schnell für Impala- und andere Datenbanken, bei denen das Limit mit Offset ein Ordnungsargument erfordert, das nicht immer wünschenswert ist.
KarthikS
-5
Wenn Ihr Tisch nach ID bestellt ist, können Sie dies leicht tun durch:
Antworten:
Verwenden Sie LIMIT mit zwei Parametern. Verwenden Sie beispielsweise Folgendes, um die Ergebnisse 11-60 zurückzugeben (wobei Ergebnis 1 die erste Zeile ist):
Eine Lösung zur Rückgabe aller Ergebnisse finden Sie in der Antwort von Thomas .
quelle
Es gibt auch einen OFFSET, der den Trick machen sollte:
quelle
limit 10,10
OFFSET ist das, wonach Sie suchen.
quelle
Aus dem Handbuch :
Natürlich sollten Sie
95
durch ersetzen10
. Die große Zahl, die sie verwenden, ist übrigens 2 ^ 64 - 1.quelle
Mit LIMIT können Sie eine beliebige Anzahl von Zeilen überspringen. Es hat zwei Parameter und erstens - wie viele Zeilen übersprungen werden sollen
quelle
Wo
id
ist der Schlüssel in Ihrer Tabelle?quelle
Wenn Ihr Tisch nach ID bestellt ist, können Sie dies leicht tun durch:
quelle