Š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 | 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 | 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 | 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 |
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