Vyberte 10 najlepších riadkov v SQL

Vyberte 10 Najlepsich Riadkov V Sql



Keď pracujeme v databáze SQL, môžeme naraziť na prípady, keď potrebujeme načítať konkrétnu podmnožinu riadkov z danej tabuľky. To nám umožňuje obmedziť zdroje potrebné na získanie hodnôt z tabuľky.

Našťastie v SQL máme prístup k klauzule LIMIT, ktorá nám umožňuje kontrolovať počet riadkov, ktoré sa vrátia v rámci danej sady výsledkov. Táto funkcia je veľmi užitočná, keď sa zaoberáme veľkým súborom údajov a v skutočnosti nepotrebujeme celý riadok, ale jeho podmnožinu. Môže to byť buď na získanie rozloženia údajov alebo prezentácie.

V tomto návode sa naučíme, ako môžeme použiť a pracovať s klauzulou LIMIT v SQL databázach na zadanie počtu riadkov, ktoré chceme z databázy získať.







Požiadavky:

Predtým, ako sa ponoríme do fungovania a používania klauzuly LIMIT v SQL, prediskutujeme niektoré základné požiadavky na tento tutoriál.



Ak chcete pokračovať v tomto príspevku, budete potrebovať nasledovné:



  1. MySQL 8.0 a vyššie funguje s MySQL 5
  2. Prístup k vzorovej databáze Sakila
  3. Povolenia dotazovať sa na riadky z cieľovej databázy (prístup na čítanie)

Po splnení daných požiadaviek môžeme pokračovať v tomto návode.





SQL LIMIT

V SQL nám klauzula LIMIT umožňuje obmedziť počet riadkov, ktoré sa vrátia z daného dotazu SQL. Napríklad v príkaze select namiesto vrátenia všetkých riadkov z tabuľky, ktorá môže obsahovať viac ako 1000 záznamov, môžeme zvoliť zobrazenie iba prvých 10 riadkov.

Nasleduje základná syntax klauzuly LIMIT v SQL:



SELECT stĺpec1, stĺpec2, ...

OD tbl_name

LIMIT počet_riadkov;

V tomto príklade používame klauzulu LIMIT v spojení s príkazom SELECT.

Z danej syntaxe „tbl_name“ predstavuje názov tabuľky, z ktorej chceme získať údaje.

„Počet_riadkov“ nám umožňuje určiť maximálny počet riadkov, ktoré sa vrátia v sade výsledkov.

Príklad 1: Obmedzte počet riadkov

Najbežnejšou a základnou úlohou klauzuly LIMIT je nastavenie maximálneho počtu riadkov, ktoré sú zahrnuté v množine výsledkov.

Predpokladajme, že chceme použiť tabuľku „filmov“ zo vzorovej databázy Sakila. Keďže však nechceme načítať všetky priradené riadky, môžeme vybrať prvých 10 riadkov, ako je znázornené v nasledujúcej vzorovej klauzule:

VYBERTE * Z filmu

LIMIT 10 ;

Po spustení daného dotazu by sme mali dostať výstup takto:

  Automaticky vygenerovaná snímka obrazovky s popisom počítača

V tomto príklade používame klauzulu LIMIT na obmedzenie množiny výsledkov na 10 riadkov. Tým sa získa prvých 10 riadkov z výsledku.

Príklad 2: Použitie hodnoty OFFSET

V niektorých prípadoch môžeme chcieť preskočiť alebo vynechať určitý počet riadkov. Predpokladajme napríklad, že chceme získať iba päť prvkov, ale chceme začať na pozícii 20. Môžeme použiť parameter OFFSET, ktorý nám umožňuje povedať klauzule LIMIT, na ktorej pozícii chceme začať.

Je to užitočné najmä vtedy, keď potrebujete implementovať stránkovanie vo veľkom súbore údajov, ako je znázornené v nasledujúcom príklade:

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

LIMIT 10 OFFSET dvadsať ;;

To by malo vrátiť 10 riadkov od pozície 20 takto:

Ako môžete vidieť z daného výsledku, začiatok „film_id“ začína na pozícii 21 a pokračuje na pozíciu 30.

Príklad 3: Použitie klauzuly Order BY

Ďalšie bežné použitie klauzuly LIMIT je v kombinácii s klauzulou ORDER BY. To nám umožňuje získať konkrétny počet riadkov, ktoré sú založené na konkrétnej objednávke. To môže zahŕňať základné triedenie (vzostupné alebo zostupné) atď.

Predpokladajme napríklad, že chceme získať 10 najdlhších filmov z tabuľky „filmov“. Môžeme použiť klauzulu ORDER BY na zoradenie hodnôt na základe dĺžky a potom obmedziť prvých 10 riadkov.

Príklad je nasledujúci:

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

Z filmu f

OBJEDNAŤ PODĽA dĺžky DESC

LIMIT 10 ;

V tomto prípade použijeme klauzulu ORDER BY na zoradenie riadkov v zostupnom poradí (od najvyššieho po najnižšie) a potom načítame prvých 10 riadkov pomocou klauzuly LIMIT.

Výsledná sada je nasledovná:

  Tabuľka s popisom zoznamu automaticky generovaná so strednou spoľahlivosťou

Tu to máte!

Záver

V tomto príspevku sme sa naučili základy a pokročilé funkcie práce s klauzulou LIMIT v databázach SQL.