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