MySQL LIMIT & OFFSET ar piemēriem

Anonim

Kas ir LIMIT atslēgvārds?

Ierobežojošais atslēgvārds tiek izmantots, lai ierobežotu vaicājuma rezultātā atgriezto rindu skaitu.

To var izmantot kopā ar komandām SELECT, UPDATE OR DELETE LIMIT atslēgvārdu sintakse

Atslēgvārda LIMIT sintakse ir šāda

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

ŠEIT

  • "SELECT {lauka nosaukums (s) | *} FROM tableName (s)" ir priekšraksts SELECT, kurā ir lauki, kurus mēs vēlētos atgriezt mūsu vaicājumā.
  • "[WHERE nosacījums]" nav obligāts, bet, ja tas tiek piegādāts, to var izmantot, lai norādītu filtru rezultātu kopai.
  • “LIMIT N” ir atslēgvārds, un N ir jebkurš skaitlis, sākot no 0, uzliekot 0, jo ierobežojums vaicājumā neatgriež ierakstus. Ievietojot skaitli, piemēram, 5, tiks atgriezti pieci ieraksti. Ja norādītajā tabulā ieraksti ir mazāki par N, visi ieraksti no pieprasītās tabulas tiek atgriezti rezultātu komplektā.

Apskatīsim piemēru -

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

Kā redzat no iepriekš minētā ekrānuzņēmuma, ir atgriezti tikai divi dalībnieki.

Desmit (10) dalībnieku saraksta iegūšana tikai no datu bāzes

Pieņemsim, ka no Myflix datu bāzes mēs vēlamies iegūt pirmo 10 reģistrēto dalībnieku sarakstu. Lai to panāktu, mēs izmantosim šādu skriptu.

SELECT * FROM members LIMIT 10;

Izpildot iepriekš minēto skriptu, tiek iegūti zemāk redzamie rezultāti

 
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

Ņemiet vērā, ka mūsu vaicājumā ir atgriezti tikai 9 dalībnieki, jo klauzulā LIMIT skaitlis N ir lielāks par kopējo ierakstu skaitu mūsu tabulā.

Pārrakstiet iepriekš minēto skriptu šādi

SELECT * FROM members LIMIT 9;

Atgriež tikai 9 rindas mūsu vaicājuma rezultātu komplektā.

Izmantojot OFF SET vaicājumā LIMIT

OFF SET vērtība ir arī visbiežāk lieto kopā ar LIMIT atslēgvārdu. OFF SET vērtība ļauj mums norādīt, kuru rindu sākt no datu izgūšanas

Pieņemsim, ka mēs vēlamies iegūt ierobežotu dalībnieku skaitu, sākot no rindu vidus, lai to sasniegtu, mēs varam izmantot atslēgvārdu LIMIT kopā ar nobīdes vērtību. Zemāk parādītais skripts iegūst datus, sākot ar otro rindu, un rezultātus ierobežo līdz 2.

SELECT * FROM `members` LIMIT 1, 2;

Iepriekš minētā skripta izpildīšana MySQL darbagaldā pret myflixdb dod šādus rezultātus.

 
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

Kad mums vajadzētu izmantot atslēgvārdu LIMIT?

Pieņemsim, ka mēs izstrādājam lietojumprogrammu, kas darbojas virs myflixdb. Mūsu sistēmas dizainers ir lūdzis mums ierobežot lapā parādīto ierakstu skaitu, sakot, 20 ieraksti vienā lapā, lai novērstu lēno ielādes laiku. Kā mēs varam ieviest sistēmu, kas atbilst šādām lietotāju prasībām? Atslēgvārds LIMIT noder šādās situācijās. Mēs varēsim ierobežot vaicājuma rezultātus līdz 20 ierakstiem tikai vienā lapā.

Kopsavilkums

  • LIMIT atslēgvārds tiek izmantots, lai ierobežotu no rezultātu kopas atgriezto rindu skaitu.
  • LIMIT skaitlis var būt jebkurš skaitlis no nulles (0), kas iet uz augšu. Kad kā ierobežojums ir norādīta nulle (0), no rezultātu kopas netiek atgrieztas rindas.
  • OFF SET vērtība ļauj mums norādīt, kuru rindu sākt no datu izgūšanas
  • To var izmantot kopā ar komandām SELECT, UPDATE OR DELETE LIMIT atslēgvārdu sintakse