sql >> Databáze >  >> RDS >> SQLite

SQLite Limit

Shrnutí :v tomto tutoriálu se naučíte používat SQLite LIMIT klauzule k omezení počtu řádků vrácených dotazem.

Úvod do SQLite LIMIT klauzule

LIMIT klauzule je volitelná část SELECT prohlášení. Používáte LIMIT klauzule k omezení počtu řádků vrácených dotazem.

Například SELECT výpis může vrátit jeden milion řádků. Pokud však potřebujete pouze prvních 10 řádků v sadě výsledků, můžete přidat LIMIT klauzule do SELECT příkaz k načtení 10 řádků.

Následující text ilustruje syntaxi LIMIT doložka.

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

row_count je kladné celé číslo, které určuje počet vrácených řádků.

Chcete-li například získat prvních 10 řádků ve tracks tabulky, použijete následující příkaz:

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

Zkuste to

Pokud chcete získat prvních 10 řádků počínaje 10 řádkem sady výsledků, použijte OFFSET klíčové slovo takto:

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

Nebo můžete použít následující zkrácenou syntaxi LIMIT OFFSET klauzule:

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

Chcete-li například získat 10 řádků počínaje 11. řádkem v tracks tabulky, použijete následující příkaz:

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

Zkuste to

Často najdete použití OFFSET ve webových aplikacích pro stránkování sad výsledků.

SQLite LIMIT a ORDER BY klauzule

Vždy byste měli používat LIMIT klauzule s ORDER BY doložka. Protože chcete získat počet řádků v určeném pořadí, nikoli v nespecifikovaném pořadí.

ORDER BY klauzule se objeví před LIMIT klauzule v SELECT prohlášení. SQLite seřadí sadu výsledků, než získá počet řádků zadaný v LIMIT doložka.

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

Chcete-li například získat 10 největších skladeb podle velikosti, použijte následující dotaz:

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

Zkuste to

Chcete-li získat 5 nejkratších stop, seřadíte stopy podle délky určené sloupcem milisekund pomocí ORDER BY klauzuli a získejte prvních 5 řádků pomocí LIMIT doložka.

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

Zkuste to

Získání nejvyšší a nejnižší hodnoty n

Můžete použít ORDER BY a LIMIT klauzule k získání n řádků s nejvyšší nebo nejnižší hodnotou. Můžete například chtít znát druhou nejdelší stopu, třetí nejmenší stopu atd.

Chcete-li to provést, použijte následující kroky:

  1. Nejprve použijte ORDER BY seřadit sadu výsledků vzestupně v případě, že chcete získat n nejnižší hodnotu, nebo sestupně, pokud chcete získat n nejvyšší hodnotu.
  2. Zadruhé použijte LIMIT OFFSET klauzule k získání n nejvyššího nebo n nejnižšího řádku.

Následující příkaz vrátí druhou nejdelší stopu v tracks tabulka.

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

Zkuste to

Následující příkaz získá třetí nejmenší stopu na tracks tabulka.

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

Zkuste to

V tomto tutoriálu jste se naučili používat SQLite LIMIT klauzule k omezení počtu řádků vrácených dotazem.


  1. Je možné odkazovat na jeden sloupec jako na více cizích klíčů?

  2. Jak nainstalovat MySQL 8.0 na RHEL/CentOS 8/7 a Fedora 35

  3. SQL Server Blocking Query

  4. Použití příkazu IF v dotazu MySQL SELECT