MySQL LIMIT & OFFSET cu Exemple

Ce este cuvรขntul cheie LIMIT?

Cuvรขntul cheie limit este folosit pentru a limita numฤƒrul de rรขnduri returnate รฎntr-un rezultat al unei interogฤƒri.

Poate fi folosit รฎmpreunฤƒ cu comenzile SELECT, UPDATE SAU DELETE LIMIT sintaxa cuvintelor cheie

Sintaxa pentru cuvรขntul cheie LIMIT este urmฤƒtoarea

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

AICI

  • โ€žSELECTARE {fieldname(s) | *} FROM tableName(s)โ€ este instrucศ›iunea SELECT care conศ›in cรขmpurile pe care am dori sฤƒ le returnฤƒm รฎn interogarea noastrฤƒ.
  • โ€ž[condiศ›ia WHERE]โ€ este opศ›ional, dar atunci cรขnd este furnizat, poate fi folosit pentru a specifica un filtru pentru setul de rezultate.
  • โ€žLIMITฤ‚ Nโ€ este cuvรขntul cheie ศ™i N este orice numฤƒr care รฎncepe de la 0, punรขnd 0 ca limitฤƒ nu returneazฤƒ nicio รฎnregistrare รฎn interogare. Punerea unui numฤƒr sฤƒ spunem 5 va returna cinci รฎnregistrฤƒri. Dacฤƒ รฎnregistrฤƒrile din tabelul specificat sunt mai mici decรขt N, atunci toate รฎnregistrฤƒrile din tabelul interogat sunt returnate รฎn setul de rezultate.

Sฤƒ ne uitฤƒm la un exemplu -

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 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL

Dupฤƒ cum puteศ›i vedea din captura de ecran de mai sus, doar doi membri au fost returnaศ›i.

Obศ›inerea unei liste de zece (10) membri numai din baza de date

Sฤƒ presupunem cฤƒ vrem sฤƒ obศ›inem o listฤƒ cu primii 10 membri รฎnregistraศ›i din baza de date Myflix. Am folosi urmฤƒtorul script pentru a realiza acest lucru.

SELECT *  FROM members LIMIT 10;

Executarea scriptului de mai sus ne oferฤƒ rezultatele prezentate mai jos

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 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com 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

Reศ›ineศ›i cฤƒ numai 9 membri au fost returnaศ›i รฎn interogarea noastrฤƒ, deoarece N din clauza LIMIT este mai mare decรขt numฤƒrul total de รฎnregistrฤƒri din tabelul nostru.

Rescrieศ›i scriptul de mai sus dupฤƒ cum urmeazฤƒ

SELECT *  FROM members LIMIT 9;

Returneazฤƒ doar 9 rรขnduri รฎn setul de rezultate ale interogฤƒrii.

Folosind OFF SET รฎn interogarea LIMIT

DECALAJ value este, de asemenea, cel mai adesea folosit รฎmpreunฤƒ cu cuvรขntul cheie LIMIT. Valoarea OFF SET ne permite sฤƒ specificฤƒm ce rรขnd sฤƒ รฎncepem de la preluarea datelor

Sฤƒ presupunem cฤƒ dorim sฤƒ obศ›inem un numฤƒr limitat de membri รฎncepรขnd de la mijlocul rรขndurilor, putem folosi cuvรขntul cheie LIMIT รฎmpreunฤƒ cu valoarea offset pentru a realiza acest lucru. Scriptul prezentat mai jos primeศ™te date รฎncepรขnd cu al doilea rรขnd ศ™i limiteazฤƒ rezultatele la 2.

SELECT * FROM `members` LIMIT 1, 2;

Executarea scriptului de mai sus รฎn MySQL Workbench รฎmpotriva myflixdb oferฤƒ urmฤƒtoarele rezultate.

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 jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL

Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

Cรขnd ar trebui sฤƒ folosim cuvรขntul cheie LIMIT?

Sฤƒ presupunem cฤƒ suntem dezvoltaศ›iping aplicaศ›ia care ruleazฤƒ pe myflixdb. Designerul nostru de sistem ne-a cerut sฤƒ limitฤƒm numฤƒrul de รฎnregistrฤƒri afiศ™ate pe o paginฤƒ la, sฤƒ zicem, 20 de รฎnregistrฤƒri pe paginฤƒ pentru a contracara timpii de รฎncฤƒrcare lenศ›i. Cum implementฤƒm sistemul care sฤƒ รฎndeplineascฤƒ astfel de cerinศ›e ale utilizatorilor? Cuvรขntul cheie LIMIT este util รฎn astfel de situaศ›ii. Am putea limita rezultatele returnate de o interogare la doar 20 de รฎnregistrฤƒri pe paginฤƒ.

Rezumat

  • Cuvรขntul cheie LIMIT of este folosit pentru a limita numฤƒrul de rรขnduri returnate dintr-un set de rezultate.
  • Numฤƒrul LIMIT poate fi orice numฤƒr de la zero (0) รฎn sus. Cรขnd zero (0) este specificat ca limitฤƒ, nu sunt returnate rรขnduri din setul de rezultate.
  • Valoarea OFF SET ne permite sฤƒ specificฤƒm ce rรขnd sฤƒ รฎncepem de la preluarea datelor
  • Poate fi folosit รฎmpreunฤƒ cu comenzile SELECT, UPDATE SAU DELETE LIMIT sintaxa cuvintelor cheie

Rezumaศ›i aceastฤƒ postare cu: