Gibt es in MySQL eine Möglichkeit, die ersten 10 Ergebnisse einer SELECT-Abfrage zu überspringen? Ich möchte, dass es so etwas wie LIMIT funktioniert.
Gibt es in MySQL eine Möglichkeit, die ersten 10 Ergebnisse einer SELECT-Abfrage zu überspringen? Ich möchte, dass es so etwas wie LIMIT funktioniert.
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):
SELECT * FROM foo LIMIT 10, 50
Eine Lösung zur Rückgabe aller Ergebnisse finden Sie in der Antwort von Thomas .
Es gibt auch einen OFFSET, der den Trick machen sollte:
SELECT column FROM table
LIMIT 10 OFFSET 10
limit 10,10
Aus dem Handbuch :
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 95
durch ersetzen 10
. Die große Zahl, die sie verwenden, ist übrigens 2 ^ 64 - 1.
Mit LIMIT können Sie eine beliebige Anzahl von Zeilen überspringen. Es hat zwei Parameter und erstens - wie viele Zeilen übersprungen werden sollen
select * from table where id not in (select id from table limit 10)
Wo id
ist der Schlüssel in Ihrer Tabelle?
Wenn Ihr Tisch nach ID bestellt ist, können Sie dies leicht tun durch:
select * from table where id > 10