Vad är LIMIT-sökordet?
Begränsningsnyckelordet används för att begränsa antalet rader som returneras i ett sökresultat.
Den kan användas i kombination med kommandona VÄLJ, UPPDATERA ELLER RADERA GRÄNS nyckelordssyntax
Syntaxen för sökordet LIMIT är som följer
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
HÄR
- "SELECT {fieldname (s) | *} FROM tableName (s)" är SELECT-satsen som innehåller fälten som vi vill returnera i vår fråga.
- "[WHERE condition]" är valfritt men kan när det tillhandahålls användas för att ange ett filter på resultatuppsättningen.
- "LIMIT N" är nyckelordet och N är valfritt tal från 0, vilket sätter 0 eftersom gränsen inte returnerar några poster i frågan. Att sätta ett tal säger 5 kommer att returnera fem poster. Om posterna i den angivna tabellen är mindre än N returneras alla poster från den förfrågade tabellen i resultatuppsättningen.
Låt oss titta på ett exempel -
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 |
Som du kan se från ovanstående skärmdump har endast två medlemmar returnerats.
Få en lista med tio (10) medlemmar endast från databasen
Låt oss anta att vi vill få en lista över de första 10 registrerade medlemmarna från Myflix-databasen. Vi skulle använda följande skript för att uppnå det.
SELECT * FROM members LIMIT 10;
Att utföra ovanstående skript ger oss resultaten som visas nedan
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 |
Observera att bara 9 medlemmar har returnerats i vår fråga eftersom N i LIMIT-klausulen är större än antalet totala poster i vår tabell.
Skriv om ovanstående skript enligt följande
SELECT * FROM members LIMIT 9;
Returnerar endast nio rader i vår sökresultatuppsättning.
Använda OFF SET i LIMIT-frågan
Det OFF SET -värdet är också oftast används tillsammans med LIMIT sökord. Med OFF SET-värdet kan vi ange vilken rad som ska börja från att hämta data
Låt oss anta att vi vill få ett begränsat antal medlemmar från mitten av raderna, vi kan använda LIMIT-nyckelordet tillsammans med offsetvärdet för att uppnå det. Skriptet som visas nedan får data som börjar den andra raden och begränsar resultaten till 2.
SELECT * FROM `members` LIMIT 1, 2;
Att utföra ovanstående skript i MySQL-arbetsbänken mot myflixdb ger följande resultat.
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 |
När ska vi använda LIMIT-sökordet?
Låt oss anta att vi utvecklar applikationen som körs ovanpå myflixdb. Vår systemdesigner har bett oss att begränsa antalet poster som visas på en sida till att säga 20 poster per sida för att motverka långsamma laddningstider. Hur ska vi implementera systemet som uppfyller sådana användarkrav? Nyckelordet LIMIT är till nytta i sådana situationer. Vi skulle kunna begränsa resultaten från en fråga till 20 poster endast per sida.
Sammanfattning
- Nyckelordet LIMIT används för att begränsa antalet rader som returneras från en resultatuppsättning.
- LIMIT-numret kan vara vilket som helst tal från noll (0) som går uppåt. När noll (0) anges som gräns, returneras inga rader från resultatuppsättningen.
- Med OFF SET-värdet kan vi ange vilken rad som ska börja från att hämta data
- Den kan användas i kombination med kommandona VÄLJ, UPPDATERA ELLER RADERA GRÄNS nyckelordssyntax