Sammanfattning :i denna handledning kommer du att lära dig hur du använder SQLite LIMIT
sats för att begränsa antalet rader som returneras av en fråga.
Introduktion till SQLite LIMIT
klausul
LIMIT
satsen är en valfri del av SELECT
påstående. Du använder LIMIT
sats för att begränsa antalet rader som returneras av frågan.
Till exempel en SELECT
uttalande kan returnera en miljon rader. Men om du bara behöver de första 10 raderna i resultatuppsättningen kan du lägga till LIMIT
sats till SELECT
uttalande för att hämta 10 rader.
Följande illustrerar syntaxen för LIMIT
klausul.
SELECT
column_list
FROM
table
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
row_count
är ett positivt heltal som anger antalet returnerade rader.
Till exempel för att få de första 10 raderna i tracks
tabell använder du följande påstående:
SELECT
trackId,
name
FROM
tracks
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Prova det
Om du vill få de första 10 raderna från de 10 raden i resultatuppsättningen använder du OFFSET
sökord som följande:
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;
Code language: SQL (Structured Query Language) (sql)
Eller så kan du använda följande förkortade syntax för LIMIT OFFSET
klausul:
SELECT
column_list
FROM
table
LIMIT offset, row_count;
Code language: SQL (Structured Query Language) (sql)
Till exempel, för att få 10 rader från 11 rader i tracks
tabell använder du följande påstående:
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;
Code language: SQL (Structured Query Language) (sql)
Prova det
Du hittar ofta användningsområden för OFFSET
i webbapplikationer för paginering av resultatuppsättningar.
SQLite LIMIT
och ORDER BY
klausul
Du bör alltid använda LIMIT
satsen med ORDER BY
klausul. Eftersom du vill få ett antal rader i en angiven ordning, inte i en ospecificerad ordning.
ORDER BY
satsen visas före LIMIT
sats i SELECT
påstående. SQLite sorterar resultatuppsättningen innan du får det antal rader som anges i LIMIT
klausul.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;
Code language: SQL (Structured Query Language) (sql)
Till exempel, för att få de 10 största spåren efter storlek använder du följande fråga:
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;
Code language: SQL (Structured Query Language) (sql)
Prova det
För att få de 5 kortaste spåren, sorterar du spåren efter den längd som anges av millisekunders kolumn med ORDER BY
och hämta de första 5 raderna med LIMIT
klausul.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;
Code language: SQL (Structured Query Language) (sql)
Prova det
Få det n högsta och lägsta värdet
Du kan använda ORDER BY
och LIMIT
satser för att få de n högsta eller lägsta värderaderna. Till exempel kanske du vill veta det näst längsta spåret, det tredje minsta spåret, etc.
För att göra detta använder du följande steg:
- Använd först
ORDER BY
för att sortera resultatuppsättningen i stigande ordning om du vill få n lägsta värde, eller fallande ordning om du vill få n högsta värde. - Använd för det andra
LIMIT OFFSET
sats för att få n högsta eller n lägsta raden.
Följande sats returnerar det näst längsta spåret i tracks
bord.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;
Code language: SQL (Structured Query Language) (sql)
Prova det
Följande sats får det tredje minsta spåret på tracks
bord.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;
Code language: SQL (Structured Query Language) (sql)
Prova det
I den här handledningen har du lärt dig hur du använder SQLite LIMIT
sats för att begränsa antalet rader som returneras av frågan.