2012-04-12 6 views

Antwort

129

Es gibt 18 Ergebnisse, beginnend mit Datensatz Nr. 9 und endet bei Datensatz Nr. 26.

Beginnen Sie mit dem Lesen der Abfrage von offset. Zuerst werden Sie um 8 versetzt, was bedeutet, dass Sie die ersten 8 Ergebnisse der Abfrage überspringen. Dann begrenzen Sie um 18. Das bedeutet, dass Sie Datensätze 9, 10, 11, 12, 13, 14, 15, 16 ... 24, 25, 26 betrachten, die insgesamt 18 Datensätze sind.

Überprüfen Sie this aus.

Und auch die official documentation.

+0

Sie sind richtig, gibt es einen Unterschied b/w Grenze 8,18 und Grenze 18 Offset 8 –

+17

Nein, es ist das gleiche. 'LIMIT 8, 18' ist nur eine Abkürzung :) –

2

Sie Ausgabe von column Wert von 9 bis 26 erhalten, wie Sie OFFSET als 8

11

Die LIMIT-Klausel der Anzahl der Ergebnisse verwendet wird, erwähnt in einer SQL-Anweisung zurückgegeben zu begrenzen. Also, wenn Sie 1000 Zeilen in einer Tabelle haben, wollen aber nur die ersten 10 zurückkehren, würden Sie so etwas tun:

SELECT column 
FROM table 
LIMIT 10 

Dies ist vergleichbar mit der TOP-Klausel auf Microsoft SQL Server. Die LIMIT-Klausel wird jedoch immer am Ende der Abfrage von MySQL und PostgreSQL ausgeführt.

Angenommen, Sie wollten die Ergebnisse 11-20 anzeigen. Mit dem Schlüsselwort OFFSET seine so einfach, wird die folgende Abfrage tun:

SELECT column FROM table 
LIMIT 10 
OFFSET 10 
6

OFFSET ist nichts anderes als es nur keyword und zeigt Cursor in der Tabelle zu starten.

SELECT column FROM table LIMIT 18 OFFSET 8 //start on record 9 (OFFSET 8) with record 18 

Sie erhalten gleiche Ergebnis Form

SELECT column FROM table LIMIT 8,18 
+0

Schöne Erklärung! Vielen Dank –

Verwandte Themen