Suche…


Syntax

  • SELECT Spalte_1 [, Spalte_2]
    FROM table_1
    ORDER BY order_column
    LIMIT row_count [OFFSET row_offset]
  • SELECT Spalte_1 [, Spalte_2]
    FROM table_1
    ORDER BY order_column
    LIMIT [row_offset,] row_count

Bemerkungen

"Limit" kann "Maximale Anzahl von Zeilen in einer Tabelle" bedeuten.

"Offset" bedeutet Auswahl aus row (nicht durch Primärschlüsselwert oder Felddatenwert zu verwechseln)

Limit- und Offset-Beziehung

Berücksichtigt die folgende users :

Ich würde Nutzername
1 Benutzer1
2 User2
3 Benutzer3
4 User4
5 Benutzer5

Um die Anzahl der Zeilen in der Ergebnismenge einer SELECT Abfrage zu beschränken , kann die LIMIT Klausel zusammen mit einer oder zwei positiven Ganzzahlen als Argumente verwendet werden (Null eingeschlossen).

LIMIT Klausel mit einem Argument

Wenn ein Argument verwendet wird, ist die Ergebnismenge nur auf die auf folgende Weise angegebene Anzahl beschränkt:

SELECT * FROM users ORDER BY id ASC LIMIT 2
Ich würde Nutzername
1 Benutzer1
2 User2

Wenn der Wert des Arguments 0 , ist die Ergebnismenge leer.

ORDER BY auch, dass die ORDER BY Klausel wichtig sein kann, um die ersten Zeilen der Ergebnismenge anzugeben, die angezeigt werden sollen (wenn Sie nach einer anderen Spalte sortieren).

LIMIT Klausel mit zwei Argumenten

Wenn zwei Argumente in einer LIMIT Klausel verwendet werden:

  • Das erste Argument steht für die Zeile, aus der die Zeilen der Ergebnismenge dargestellt werden. Diese Zahl wird häufig als Versatz angegeben , da sie die Zeile darstellt, die vor der ersten Zeile der eingeschränkten Ergebnismenge liegt. Dadurch kann das Argument 0 als Wert erhalten und somit die erste Zeile der uneingeschränkten Ergebnismenge berücksichtigen.
  • Das zweite Argument gibt die maximale Anzahl von Zeilen an, die in der Ergebnismenge zurückgegeben werden sollen (ähnlich dem Beispiel des einen Arguments).

Daher die Abfrage:

SELECT * FROM users ORDER BY id ASC LIMIT 2, 3

Stellt die folgende Ergebnismenge dar:

Ich würde Nutzername
3 Benutzer3
4 User4
5 Benutzer5

Beachten Sie, dass wenn das Offset- Argument 0 , die Ergebnismenge einer LIMIT Klausel mit einem Argument entspricht. Dies bedeutet, dass die folgenden zwei Abfragen:

SELECT * FROM users ORDER BY id ASC LIMIT 0, 2

SELECT * FROM users ORDER BY id ASC LIMIT 2

Produzieren Sie die gleiche Ergebnismenge:

Ich würde Nutzername
1 Benutzer1
2 User2

Schlüsselwort OFFSET : alternative Syntax

Eine alternative Syntax für die LIMIT Klausel mit zwei Argumenten besteht in der Verwendung des Schlüsselworts OFFSET nach dem ersten Argument auf folgende Weise:

SELECT * FROM users ORDER BY id ASC LIMIT 2 OFFSET 3

Diese Abfrage würde die folgende Ergebnismenge zurückgeben:

Ich würde Nutzername
3 Benutzer3
4 User4

Beachten Sie, dass in dieser alternativen Syntax die Positionen der Argumente ausgetauscht werden:

  • Das erste Argument steht für die Anzahl der Zeilen, die in der Ergebnismenge zurückgegeben werden sollen.

  • Das zweite Argument steht für den Versatz.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow