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:
- In primo luogo, usa
ORDER BYper 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. - Secondo, usa il
LIMIT OFFSETclausola 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.