Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite LIMIT
verwenden -Klausel, um die Anzahl der von einer Abfrage zurückgegebenen Zeilen einzuschränken.
Einführung in SQLite LIMIT
Klausel
Das LIMIT
-Klausel ist ein optionaler Teil von SELECT
Erklärung. Sie verwenden das LIMIT
-Klausel, um die Anzahl der von der Abfrage zurückgegebenen Zeilen einzuschränken.
Zum Beispiel ein SELECT
-Anweisung kann eine Million Zeilen zurückgeben. Wenn Sie jedoch nur die ersten 10 Zeilen in der Ergebnismenge benötigen, können Sie das LIMIT
hinzufügen -Klausel zu SELECT
-Anweisung zum Abrufen von 10 Zeilen.
Im Folgenden wird die Syntax von LIMIT
veranschaulicht Klausel.
SELECT
column_list
FROM
table
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Der row_count
ist eine positive Ganzzahl, die die Anzahl der zurückgegebenen Zeilen angibt.
Zum Beispiel, um die ersten 10 Zeilen in den tracks
zu erhalten Tabelle verwenden Sie die folgende Anweisung:
SELECT
trackId,
name
FROM
tracks
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

Wenn Sie die ersten 10 Zeilen beginnend mit der 10. Zeile der Ergebnismenge erhalten möchten, verwenden Sie OFFSET
Schlüsselwort wie folgt:
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Oder Sie können die folgende Kurzform des LIMIT OFFSET
verwenden Klausel:
SELECT
column_list
FROM
table
LIMIT offset, row_count;
Code language: SQL (Structured Query Language) (sql)
Zum Beispiel, um 10 Zeilen zu erhalten, beginnend mit der 11. Zeile in den tracks
Tabelle verwenden Sie die folgende Anweisung:
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

Sie finden häufig die Verwendung von OFFSET
in Webanwendungen zum Paginieren von Ergebnismengen.
SQLite-LIMIT
und ORDER BY
Klausel
Sie sollten immer das LIMIT
verwenden -Klausel mit dem ORDER BY
Klausel. Weil Sie eine Reihe von Zeilen in einer bestimmten Reihenfolge erhalten möchten, nicht in einer unbestimmten Reihenfolge.
Der ORDER BY
-Klausel steht vor dem LIMIT
-Klausel in SELECT
Erklärung. SQLite sortiert die Ergebnismenge, bevor es die in LIMIT
angegebene Anzahl von Zeilen erhält Klausel.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Um beispielsweise die 10 größten Tracks nach Größe abzurufen, verwenden Sie die folgende Abfrage:
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

Um die 5 kürzesten Tracks zu erhalten, sortieren Sie die Tracks mit ORDER BY
nach der in der Millisekunden-Spalte angegebenen Länge -Klausel und holen Sie sich die ersten 5 Zeilen mit LIMIT
Klausel.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

Ermitteln des n höchsten und des niedrigsten Werts
Sie können den ORDER BY
verwenden und LIMIT
-Klauseln, um die n Zeilen mit dem höchsten oder niedrigsten Wert zu erhalten. Beispielsweise möchten Sie vielleicht den zweitlängsten Track, den drittkleinsten Track usw. wissen.
Dazu verwenden Sie die folgenden Schritte:
- Verwenden Sie zuerst
ORDER BY
um die Ergebnismenge in aufsteigender Reihenfolge zu sortieren, falls Sie den n niedrigsten Wert erhalten möchten, oder in absteigender Reihenfolge, wenn Sie den n höchsten Wert erhalten möchten. - Verwenden Sie als Zweites den
LIMIT OFFSET
-Klausel, um die n-höchste oder die n-niedrigste Zeile zu erhalten.
Die folgende Anweisung gibt den zweitlängsten Track in den tracks
zurück Tabelle.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

Die folgende Anweisung erhält die drittkleinste Spur auf den tracks
Tabelle.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;
Code language: SQL (Structured Query Language) (sql)
Probieren Sie es aus

In diesem Tutorial haben Sie gelernt, wie Sie SQLite LIMIT
verwenden -Klausel, um die Anzahl der von der Abfrage zurückgegebenen Zeilen einzuschränken.