sql >> Databasteknik >  >> RDS >> SQLite

SQLite-gräns

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:

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


  1. Välj rad med senaste datum per användare

  2. SQL Server, Hur ställer man in automatisk ökning efter att ha skapat en tabell utan dataförlust?

  3. Förstå de 3 nyckelegenskaperna hos Big Data

  4. PL/SQL Stark referensmarkör med användardefinierad postdatatyp