Vyberte 10 nejlepších řádků v SQL

Vyberte 10 Nejlepsich Radku V Sql



Když pracujeme v SQL databázi, můžeme narazit na případy, kdy potřebujeme načíst konkrétní podmnožinu řádků z dané tabulky. To nám umožňuje omezit zdroje potřebné k načtení hodnot z tabulky.

Naštěstí v SQL máme přístup ke klauzuli LIMIT, která nám umožňuje řídit počet řádků, které jsou vráceny v rámci dané sady výsledků. Tato funkce je velmi užitečná, když máme co do činění s velkým souborem dat a ve skutečnosti nepotřebujeme celý řádek, ale jeho podmnožinu. To může být buď pro získání rozložení dat nebo prezentace.

V tomto tutoriálu se naučíme, jak můžeme použít a pracovat s klauzulí LIMIT v SQL databázích k určení počtu řádků, které chceme z databáze načíst.







Požadavky:

Než se ponoříme do fungování a použití klauzule LIMIT v SQL, proberme některé základní požadavky na tento tutoriál.



Chcete-li pokračovat v tomto příspěvku, budete potřebovat následující:



  1. MySQL 8.0 a vyšší funguje s MySQL 5
  2. Přístup do vzorové databáze Sakila
  3. Oprávnění dotazovat se na řádky z cílové databáze (přístup pro čtení)

Po splnění daných požadavků můžeme pokračovat v tomto tutoriálu.





SQL LIMIT

V SQL nám klauzule LIMIT umožňuje omezit počet řádků, které jsou vráceny z daného SQL dotazu. Například v příkazu select můžeme namísto vracení všech řádků z tabulky, která může obsahovat více než 1000 záznamů, zvolit zobrazení pouze prvních 10 řádků.

Níže je uvedena základní syntaxe klauzule LIMIT v SQL:



VYBERTE sloupec1, sloupec2, ...

OD tbl_name

LIMIT počet_řádků;

V tomto příkladu používáme klauzuli LIMIT ve spojení s příkazem SELECT.

Z dané syntaxe představuje „tbl_name“ název tabulky, ze které chceme načíst data.

Pole „num_rows“ nám umožňuje určit maximální počet řádků, které jsou vráceny v sadě výsledků.

Příklad 1: Omezte počet řádků

Nejběžnější a základní úlohou klauzule LIMIT je nastavení maximálního počtu řádků, které jsou zahrnuty ve výsledné sadě.

Předpokládejme, že chceme použít tabulku „filmů“ ze vzorové databáze Sakila. Protože však nechceme načíst všechny přidružené řádky, můžeme vybrat prvních 10 řádků, jak je znázorněno v následující ukázkové klauzuli:

VYBRAT * Z filmu

OMEZIT 10 ;

Jakmile spustíme daný dotaz, měli bychom získat výstup takto:

  Automaticky vygenerovaný snímek obrazovky s popisem počítače

V tomto příkladu používáme klauzuli LIMIT k omezení sady výsledků na 10 řádků. Tím se načte prvních 10 řádků z výsledku.

Příklad 2: Použití hodnoty OFFSET

V některých případech můžeme chtít přeskočit nebo vynechat určitý počet řádků. Předpokládejme například, že chceme načíst pouze pět prvků, ale chceme začít na pozici 20. Můžeme použít parametr OFFSET, který nám umožňuje říci klauzuli LIMIT, na které pozici chceme začít.

To je zvláště užitečné, když potřebujete implementovat stránkování ve velkém souboru dat, jak je znázorněno v následujícím příkladu:

SELECT film_id, title, release_year, `length` FROM film

OMEZIT 10 OFFSET dvacet ;;

To by mělo vrátit 10 řádků počínaje pozicí 20 takto:

Jak můžete vidět z daného výsledku, start „film_id“ začíná na pozici 21 a pokračuje na pozici 30.

Příklad 3: Použití doložky Order BY

Další běžné použití klauzule LIMIT je v kombinaci s klauzulí ORDER BY. To nám umožňuje získat konkrétní počet řádků, které jsou založeny na konkrétní objednávce. To může zahrnovat základní třídění (vzestupně nebo sestupně) atd.

Předpokládejme například, že chceme získat 10 nejdelších filmů z tabulky „filmů“. K seřazení hodnot podle délky můžeme použít klauzuli ORDER BY a poté omezit prvních 10 řádků.

Příklad je následující:

SELECT f.film_id, f.title, f.length

Z filmu f

OBJEDNAT PODLE délky DESC

OMEZIT 10 ;

V tomto případě použijeme klauzuli ORDER BY k seřazení řádků v sestupném pořadí (od nejvyššího k nejnižšímu) a poté načteme prvních 10 řádků pomocí klauzule LIMIT.

Výsledná sada je následující:

  Tabulka seznamu Popis automaticky generovaný se střední spolehlivostí

Tady to máš!

Závěr

V tomto příspěvku jsme se naučili základy a pokročilé funkce práce s klauzulí LIMIT v databázích SQL.