MySQL LIMIT & OFFSET s primjerima

Što je ključna riječ LIMIT?

Ključna riječ limit koristi se za ograničavanje broja redaka vraćenih u rezultatu upita.

Može se koristiti u kombinaciji s naredbama SELECT, UPDATE OR DELETE sintaksom ključne riječi LIMIT

Sintaksa za ključnu riječ LIMIT je sljedeća

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

OVDJE

  • “SELECT {fieldname(s) | *} FROM tableName(s)” je SELECT izraz koji sadrži polja koja želimo vratiti u našem upitu.
  • “[WHERE uvjet]” nije obavezan, ali kada se isporuči, može se koristiti za određivanje filtra na skupu rezultata.
  • “OGRANIČENJE N” je ključna riječ i N je bilo koji broj počevši od 0, stavljanje 0 jer ograničenje ne vraća nijedan zapis u upitu. Stavljanje broja, recimo 5, vratit će pet zapisa. Ako su zapisi u navedenoj tablici manji od N, tada se svi zapisi iz upitane 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 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL

Kao što možete vidjeti na gornjoj snimci zaslona, ​​samo su dva člana vraćena.

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

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

SELECT *  FROM members LIMIT 10;

Izvršavanje 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 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

Imajte na umu da je u našem upitu 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 na sljedeći način

SELECT *  FROM members LIMIT 9;

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

Korištenje OFF SET u upitu LIMIT

The ISKLJUČENO vrijednost se također najčešće koristi zajedno s ključnom riječi LIMIT. Vrijednost OFF SET omogućuje nam da odredimo koji redak započeti s dohvaćanjem podataka

Pretpostavimo da želimo dobiti ograničeni broj članova počevši od sredine redaka, možemo koristiti ključnu riječ LIMIT zajedno s vrijednošću pomaka da to postignemo. Skripta prikazana u nastavku dobiva podatke počevši od drugog retka i ograničava rezultate na 2.

SELECT * FROM `members` LIMIT 1, 2;

Izvršavanje gornje skripte u MySQL workbench u odnosu na 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 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

Kada bismo trebali koristiti ključnu riječ LIMIT?

Pretpostavimo da razvijamo aplikaciju koja radi povrh myflixdb-a. Naš dizajner sustava zamolio nas je da ograničimo broj zapisa prikazanih na stranici na recimo 20 zapisa po stranici kako bismo spriječili sporo učitavanje. Kako ćemo implementirati sustav koji zadovoljava takve zahtjeve korisnika? Ključna riječ LIMIT dobro dođe u takvim situacijama. Mogli bismo ograničiti rezultate vraćene iz upita na samo 20 zapisa po stranici.

rezime

  • Ključna riječ LIMIT koristi se za ograničavanje broja redaka vraćenih iz skupa rezultata.
  • Broj LIMIT može biti bilo koji broj od nule (0) naviše. Kada je nula (0) navedena kao granica, nijedan redak se ne vraća iz skupa rezultata.
  • Vrijednost OFF SET omogućuje nam da odredimo koji redak započeti s dohvaćanjem podataka
  • Može se koristiti u kombinaciji s naredbama SELECT, UPDATE OR DELETE sintaksom ključne riječi LIMIT