LIMIT MySQL & OFFSET s príkladmi

Anonim

Čo je kľúčové slovo LIMIT?

Kľúčové slovo limit sa používa na obmedzenie počtu riadkov vrátených vo výsledku dotazu.

Môže byť použitý v spojení so syntaxou kľúčových slov LIMIT, UPDATE alebo DELETE

Syntax kľúčového slova LIMIT je nasledovná

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

TU

  • „SELECT {fieldname (s) | *} FROM tableName (s)“ je príkaz SELECT obsahujúci polia, ktoré by sme chceli vrátiť v našom dotaze.
  • „[WHERE condition]“ je voliteľné, ale ak je zadané, je možné ho použiť na určenie filtra v sade výsledkov.
  • „LIMIT N“ je kľúčové slovo a N je ľubovoľné číslo začínajúce od 0, hodnota 0 preto, že limit nevráti v dotaze žiadne záznamy. Ak dáte číslo povedzme 5, vráti sa päť záznamov. Ak sú záznamy v zadanej tabuľke menšie ako N, potom sa všetky záznamy z dotazovanej tabuľky vrátia do množiny výsledkov.

Pozrime sa na príklad -

SELECT * FROM members LIMIT 2;
 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL

Ako vidíte na snímke vyššie, vrátili sa iba dvaja členovia.

Získanie zoznamu desiatich (10) členov iba z databázy

Predpokladajme, že chceme získať zoznam prvých 10 registrovaných členov z databázy Myflix. Použili by sme na to nasledujúci skript.

SELECT * FROM members LIMIT 10;

Vykonanie vyššie uvedeného skriptu nám poskytne výsledky uvedené nižšie

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

Upozorňujeme, že v našom dotaze bolo vrátených iba 9 členov, pretože N v klauzule LIMIT je väčšie ako počet celkových záznamov v našej tabuľke.

Vyššie uvedený skript prepíšete nasledujúcim spôsobom

SELECT * FROM members LIMIT 9;

Vracia iba 9 riadkov v našej sade výsledkov dotazu.

Použitie OFF SET v dotaze LIMIT

Hodnota OFF SET sa tiež najčastejšie používa spolu s kľúčovým slovom LIMIT. Hodnota OFF SET nám umožňuje určiť, ktorý riadok má začať od načítania údajov

Predpokladajme, že chceme získať obmedzený počet členov počnúc stredom riadkov, môžeme na to použiť kľúčové slovo LIMIT spolu s hodnotou offsetu. Skript uvedený nižšie získava údaje začínajúce v druhom riadku a výsledky obmedzuje na 2.

SELECT * FROM `members` LIMIT 1, 2;

Vykonanie vyššie uvedeného skriptu v pracovnom stole MySQL proti myflixdb poskytuje nasledujúce výsledky.

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

Kedy by sme mali použiť kľúčové slovo LIMIT?

Predpokladajme, že vyvíjame aplikáciu, ktorá beží nad myflixdb. Náš návrhár systému nás požiadal, aby sme obmedzili počet záznamov zobrazených na stránke, aby sme povedali 20 záznamov na stránku, aby sme zabránili pomalým časom načítania. Ako postupujeme pri zavádzaní systému, ktorý spĺňa tieto požiadavky používateľov? V takýchto situáciách sa hodí kľúčové slovo LIMIT. Boli by sme schopní obmedziť výsledky vrátené z dotazu iba na 20 záznamov na stránku.

Zhrnutie

  • Kľúčové slovo LIMIT z sa používa na obmedzenie počtu riadkov vrátených z množiny výsledkov.
  • LIMITNÉ číslo môže byť akékoľvek číslo od nuly (0) smerom nahor. Keď je ako limit zadaná nula (0), z množiny výsledkov sa nevrátia žiadne riadky.
  • Hodnota OFF SET nám umožňuje určiť, ktorý riadok má začať od načítania údajov
  • Môže byť použitý v spojení so syntaxou kľúčových slov LIMIT, UPDATE alebo DELETE