SQLite
 sql >> Database >  >> RDS >> SQLite

Limite SQLite

Riepilogo :in questo tutorial imparerai come usare SQLite LIMIT clausola per vincolare il numero di righe restituite da una query.

Introduzione a SQLite LIMIT clausola

Il LIMIT La clausola è una parte facoltativa di SELECT dichiarazione. Usi il LIMIT clausola per vincolare il numero di righe restituite dalla query.

Ad esempio, un SELECT l'istruzione può restituire un milione di righe. Tuttavia, se hai bisogno solo delle prime 10 righe nel set di risultati, puoi aggiungere il LIMIT clausola al SELECT istruzione per recuperare 10 righe.

Di seguito viene illustrata la sintassi di LIMIT clausola.

SELECT
	column_list
FROM
	table
LIMIT row_count;Code language: SQL (Structured Query Language) (sql)

Il row_count è un numero intero positivo che specifica il numero di righe restituite.

Ad esempio, per ottenere le prime 10 righe nelle tracks tabella, usi la seguente istruzione:

SELECT
	trackId,
	name
FROM
	tracks
LIMIT 10;Code language: SQL (Structured Query Language) (sql)

Provalo

Se vuoi ottenere le prime 10 righe partendo dalle 10 righe del set di risultati, utilizza OFFSET parola chiave come la seguente:

SELECT
	column_list
FROM
	table
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)

Oppure puoi usare la seguente sintassi abbreviata del LIMIT OFFSET clausola:

SELECT
	column_list
FROM
	table
LIMIT offset, row_count;Code language: SQL (Structured Query Language) (sql)

Ad esempio, per ottenere 10 righe a partire dalle 11 righe nelle tracks tabella, usi la seguente istruzione:

SELECT
	trackId,
	name
FROM
	tracks
LIMIT 10 OFFSET 10;Code language: SQL (Structured Query Language) (sql)

Provalo

Trovi spesso gli usi di OFFSET nelle applicazioni Web per l'impaginazione dei set di risultati.

SQLite LIMIT e ORDER BY clausola

Dovresti sempre usare il LIMIT clausola con ORDER BY clausola. Perché vuoi ottenere un numero di righe in un ordine specificato, non in un ordine non specificato.

Il ORDER BY la clausola compare prima del LIMIT clausola nel SELECT dichiarazione. SQLite ordina il set di risultati prima di ottenere il numero di righe specificato in LIMIT clausola.

SELECT
   column_list
FROM
   table
ORDER BY column_1
LIMIT row_count;Code language: SQL (Structured Query Language) (sql)

Ad esempio, per ottenere le prime 10 tracce più grandi in base alle dimensioni, utilizza la seguente query:

SELECT
	trackid,
	name,
	bytes
FROM
	tracks
ORDER BY
	bytes DESC
LIMIT 10;Code language: SQL (Structured Query Language) (sql)

Provalo

Per ottenere le 5 tracce più brevi, ordina le tracce in base alla lunghezza specificata dalla colonna dei millisecondi utilizzando ORDER BY clausola e ottieni le prime 5 righe usando LIMIT clausola.

SELECT
	trackid,
	name,
	milliseconds
FROM
	tracks
ORDER BY
	milliseconds ASC
LIMIT 5;Code language: SQL (Structured Query Language) (sql)

Provalo

Ottenere il valore n più alto e quello più basso

Puoi utilizzare il ORDER BY e LIMIT clausole per ottenere le n righe con il valore più alto o più basso. Ad esempio, potresti voler conoscere la seconda traccia più lunga, la terza traccia più piccola, ecc.

Per fare ciò, utilizza i seguenti passaggi:

  1. In primo luogo, usa ORDER BY per ordinare il set di risultati in ordine crescente se vuoi ottenere il valore n più basso, o in ordine decrescente se vuoi ottenere il valore n più alto.
  2. Secondo, usa il LIMIT OFFSET clausola per ottenere la n riga più alta o la n più bassa.

La seguente istruzione restituisce la seconda traccia più lunga nelle tracks tabella.

SELECT
	trackid,
	name,
	milliseconds
FROM
	tracks
ORDER BY
	milliseconds DESC
LIMIT 1 OFFSET 1;Code language: SQL (Structured Query Language) (sql)

Provalo

La seguente istruzione ottiene la terza traccia più piccola sulle tracks tabella.

SELECT
	trackid,
	name,
	bytes
FROM
	tracks
ORDER BY
	bytes
LIMIT 1 OFFSET 2;Code language: SQL (Structured Query Language) (sql)

Provalo

In questo tutorial, hai imparato a usare SQLite LIMIT clausola per vincolare il numero di righe restituite dalla query.