SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite-Grenze

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:

  1. 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.
  2. 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.