MySQL OGRANIČENJE & OFFSET s primjerima

Anonim

Što je ključna riječ LIMIT?

Ključna riječ limit koristi se za ograničavanje broja redaka koji se vraćaju u rezultat upita.

Može se koristiti zajedno s naredbama SELECT, UPDATE OR DELETE LIMIT sintaksa ključne riječi

Sintaksa ključne riječi LIMIT je sljedeća

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

OVDJE

  • "SELECT { ime polja (a) | *} IZNa imena tablice" je izraz SELECT koji sadrži polja koja bismo željeli vratiti u našem upitu.
  • "[WHERE uvjet]" nije obavezan, ali ako je isporučen, može se koristiti za određivanje filtra u skupu rezultata.
  • "LIMIT N" je ključna riječ, a N je bilo koji broj koji počinje od 0, stavljajući 0 jer ograničenje ne vraća nijedan zapis u upitu. Stavljanjem broja recimo 5 vratit će se pet zapisa. Ako su zapisi u navedenoj tablici manji od N, tada se svi zapisi iz upitne tablice vraćaju u skup rezultata.

Pogledajmo primjer -

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

Kao što možete vidjeti iz gornjeg snimka zaslona, ​​vraćena su samo dva člana.

Dobivanje popisa od deset (10) članova samo iz baze podataka

Pretpostavimo da iz baze podataka Myflix želimo dobiti popis prvih 10 registriranih članova. Koristili bismo sljedeću skriptu da bismo to postigli.

SELECT * FROM members LIMIT 10;

Izvršenje gornje skripte daje nam rezultate prikazane u nastavku

 
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

Imajte na umu da je u naš upit vraćeno samo 9 članova jer je N u klauzuli LIMIT veći od ukupnog broja zapisa u našoj tablici.

Ponovno pisanje gornje skripte kako slijedi

SELECT * FROM members LIMIT 9;

Vraća samo 9 redaka u našem skupu rezultata upita.

Korištenje OFF SET u UPITU LIMIT

Vrijednost OFF SET također se najčešće koristi zajedno s ključnom riječi LIMIT. Vrijednost OFF SET omogućuje nam da odredimo koji ćemo red početi od dohvaćanja podataka

Pretpostavimo da želimo dobiti ograničeni broj članova počevši od sredine redaka, za to možemo koristiti ključnu riječ LIMIT zajedno s vrijednošću odstupanja. Skripta prikazana u nastavku dobiva podatke koji započinju drugi redak i ograničava rezultate na 2.

SELECT * FROM `members` LIMIT 1, 2;

Izvršavanje gornje skripte u MySQL radnom stolu protiv myflixdb daje sljedeće 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 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

Kada bismo trebali koristiti ključnu riječ LIMIT?

Pretpostavimo da razvijamo aplikaciju koja se izvodi na myflixdb. Naš dizajner sustava zatražio je od nas da ograničimo broj zapisa prikazanih na stranici na 20 zapisa po stranici kako bismo se suprotstavili sporim vremenima učitavanja. Kako da krenemo s primjenom sustava koji udovoljava takvim korisničkim zahtjevima? Ključna riječ LIMIT u ovim situacijama dobro dođe. Rezultate vraćene iz upita mogli bismo ograničiti na 20 zapisa samo po stranici.

Sažetak

  • Ključna riječ LIMIT koristi se za ograničavanje broja redaka vraćenih iz skupa rezultata.
  • LIMIT broj može biti bilo koji broj od nule (0) prema gore. Kada je nula (0) navedena kao ograničenje, iz rezultata skupa ne vraćaju se retci.
  • Vrijednost OFF SET omogućuje nam da odredimo koji ćemo red početi od dohvaćanja podataka
  • Može se koristiti zajedno s naredbama SELECT, UPDATE OR DELETE LIMIT sintaksa ključne riječi