MySQL LIMIT & OFFSET med eksempler

Hva er søkeordet LIMIT?

Limit-nøkkelordet brukes til å begrense antall rader som returneres i et spørringsresultat.

Den kan brukes sammen med SELECT, UPDATE OR DELETE kommandoene LIMIT nøkkelordsyntaks

Syntaksen for nøkkelordet LIMIT er som følger

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

HER

  • "VELG {feltnavn(e) | *} FRA tabellnavn(e)" er den SELECT-setning som inneholder feltene vi ønsker å returnere i søket vårt.
  • «[WHERE-tilstand]» er valgfri, men når den leveres, kan den brukes til å spesifisere et filter på resultatsettet.
  • "LIMIT N" er nøkkelordet og N er et hvilket som helst tall som starter fra 0, og å sette 0 da grensen returnerer ingen poster i spørringen. Hvis du setter et tall som sier 5, vil du returnere fem poster. Hvis postene i den angitte tabellen er mindre enn N, returneres alle postene fra den forespurte tabellen i resultatsettet.

La oss se på et eksempel –

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

Som du kan se fra skjermbildet ovenfor, har bare to medlemmer blitt returnert.

Få en liste over ti (10) medlemmer kun fra databasen

La oss anta at vi ønsker å få en liste over de første 10 registrerte medlemmene fra Myflix-databasen. Vi ville bruke følgende skript for å oppnå det.

SELECT *  FROM members LIMIT 10;

Utførelse av skriptet ovenfor gir oss resultatene vist nedenfor

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

Merk at bare 9 medlemmer har blitt returnert i søket vårt siden N i LIMIT-klausulen er større enn antall totale poster i tabellen vår.

Omskriving av skriptet ovenfor som følger

SELECT *  FROM members LIMIT 9;

Returnerer bare 9 rader i vårt søkeresultatsett.

Bruk av OFF SET i LIMIT-spørringen

Ocuco AV SET verdi brukes også oftest sammen med søkeordet LIMIT. OFF SET-verdien lar oss spesifisere hvilken rad som skal starte fra å hente data

La oss anta at vi ønsker å få et begrenset antall medlemmer fra midten av radene, vi kan bruke søkeordet LIMIT sammen med offsetverdien for å oppnå det. Skriptet vist nedenfor henter data fra den andre raden og begrenser resultatene til 2.

SELECT * FROM `members` LIMIT 1, 2;

Utfører skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir følgende resultater.

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

Når bør vi bruke søkeordet LIMIT?

La oss anta at vi utvikler applikasjonen som kjører på toppen av myflixdb. Systemdesigneren vår har bedt oss om å begrense antall poster som vises på en side til å si 20 poster per side for å motvirke trege lastetider. Hvordan går vi frem for å implementere systemet som oppfyller slike brukerkrav? Nøkkelordet LIMIT kommer godt med i slike situasjoner. Vi vil kunne begrense resultatene som returneres fra et søk til 20 poster per side.

Oppsummering

  • Nøkkelordet LIMIT brukes til å begrense antall rader som returneres fra et resultatsett.
  • LIMIT-tallet kan være et hvilket som helst tall fra null (0) og oppover. Når null (0) er spesifisert som grense, returneres ingen rader fra resultatsettet.
  • OFF SET-verdien lar oss spesifisere hvilken rad som skal starte fra å hente data
  • Den kan brukes sammen med SELECT, UPDATE OR DELETE kommandoene LIMIT nøkkelordsyntaks

Daglig Guru99 nyhetsbrev

Start dagen med de siste og viktigste AI-nyhetsartiklene levert akkurat nå.