MySQL LIMIT I PRZESUNIĘCIE z przykładami
Co to jest słowo kluczowe LIMIT?
Słowo kluczowe limit służy do ograniczenia liczby wierszy zwracanych w wyniku zapytania.
Można go używać w połączeniu z poleceniami SELECT, UPDATE OR DELETE Składnia słowa kluczowego LIMIT
Składnia słowa kluczowego LIMIT jest następująca
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
TUTAJ
- „WYBIERZ {nazwy pól | *} Z nazw tabel” jest SELECT oświadczenie zawierający pola, które chcielibyśmy zwrócić w naszym zapytaniu.
- „[Warunek GDZIE]” jest opcjonalny, ale jeśli jest dostarczony, może zostać użyty do określenia filtra w zestawie wyników.
- „LIMIT N” jest słowem kluczowym i N to dowolna liczba zaczynająca się od 0, wstawienie 0 jako limit nie zwraca żadnych rekordów w zapytaniu. Umieszczenie liczby, powiedzmy 5, zwróci pięć rekordów. Jeśli rekordów w określonej tabeli jest mniej niż N, wówczas w zestawie wyników zwracane są wszystkie rekordy z badanej tabeli.
Spójrzmy na przykład –
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 | janetjones@yagoo.cm | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | jj@fstreet.com | NULL |
Jak widać na powyższym zrzucie ekranu, zwrócono tylko dwóch członków.
Pobieranie listy dziesięciu (10) członków tylko z bazy danych
Załóżmy, że chcemy uzyskać listę pierwszych 10 zarejestrowanych członków z bazy danych Myflix. Aby to osiągnąć, użylibyśmy następującego skryptu.
SELECT * FROM members LIMIT 10;
Wykonanie powyższego skryptu daje nam wyniki pokazane poniżej
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 | 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 |
Uwaga: w naszym zapytaniu zwrócono tylko 9 elementów, ponieważ N w klauzuli LIMIT jest większe niż całkowita liczba rekordów w naszej tabeli.
Przepisz powyższy skrypt w następujący sposób
SELECT * FROM members LIMIT 9;
Zwraca tylko 9 wierszy w naszym zestawie wyników zapytania.
Użycie OFF SET w zapytaniu LIMIT
Kurs ZRÓWNOWAŻYĆ wartość jest również najczęściej używana razem ze słowem kluczowym LIMIT. Wartość OFF SET pozwala nam określić, od którego wiersza zaczniemy pobierać dane
Załóżmy, że chcemy uzyskać ograniczoną liczbę elementów zaczynając od środka wierszy. Aby to osiągnąć, możemy użyć słowa kluczowego LIMIT wraz z wartością przesunięcia. Skrypt pokazany poniżej pobiera dane zaczynając od drugiego wiersza i ogranicza wyniki do 2.
SELECT * FROM `members` LIMIT 1, 2;
Wykonanie powyższego skryptu w MySQL workbench z myflixdb daje następujące wyniki.
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 | 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
Kiedy powinniśmy używać słowa kluczowego LIMIT?
Załóżmy, że rozwijamy aplikację, która działa na myflixdb. Nasz projektant systemu poprosił nas o ograniczenie liczby rekordów wyświetlanych na stronie do powiedzmy 20 rekordów na stronę, aby przeciwdziałać powolnym czasom ładowania. Jak możemy wdrożyć system, który spełnia takie wymagania użytkownika? Słowo kluczowe LIMIT przydaje się w takich sytuacjach. Będziemy mogli ograniczyć wyniki zwracane z zapytania do 20 rekordów na stronę.
Podsumowanie
- Słowo kluczowe LIMIT służy do ograniczania liczby wierszy zwracanych ze zbioru wyników.
- Liczba LIMIT może być dowolną liczbą od zera (0) w górę. Jeśli jako limit określono zero (0), ze zbioru wyników nie są zwracane żadne wiersze.
- Wartość OFF SET pozwala nam określić, od którego wiersza zaczniemy pobierać dane
- Można go używać w połączeniu z poleceniami SELECT, UPDATE OR DELETE Składnia słowa kluczowego LIMIT