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 BYum 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.