MySQL überspringt die ersten 10 Ergebnisse


102

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.


7
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):

SELECT * FROM foo LIMIT 10, 50

Eine Lösung zur Rückgabe aller Ergebnisse finden Sie in der Antwort von Thomas .


Was ist, wenn einige Zeilen zwischen der von Ihnen angegebenen Nummer gelöscht werden?
Alex

90

Es gibt auch einen OFFSET, der den Trick machen sollte:

SELECT column FROM table
LIMIT 10 OFFSET 10

7
leichter zu verstehen alslimit 10,10
Shellbye

39

OFFSET ist das, wonach Sie suchen.

SELECT * FROM table LIMIT 10 OFFSET 10

33

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 95durch ersetzen 10. Die große Zahl, die sie verwenden, ist übrigens 2 ^ 64 - 1.


5

Mit LIMIT können Sie eine beliebige Anzahl von Zeilen überspringen. Es hat zwei Parameter und erstens - wie viele Zeilen übersprungen werden sollen


Dies machte mir klar, dass "What is Offset" Danke @Col. Schrapnell
OM Die Ewigkeit

2
select * from table where id not in (select id from table limit 10)

Wo idist der Schlüssel in Ihrer Tabelle?


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:

select * from table where id > 10
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.