LIMIT Składnia:
>> SELECT Expression FROM table LIMIT Offset, Rows;Oto wyjaśnienie zapytania LIMIT:
- Wyrażenie: Może być nazwą kolumny lub sterycznym „*”.
- Offsetowy: Offset określa offset, który ma być zwrócony z pierwszego wiersza. Jeśli użyjesz 0 jako przesunięcia, zwróci wiersz 1 i na odwrót.
- Wydziwianie: Całkowita liczba wierszy do zwrócenia.
Otwórz powłokę wiersza poleceń MySQL i wpisz hasło. Naciśnij Enter, aby kontynuować.
Załóżmy, że masz tabelę o nazwie „nauczyciel” w swojej bazie danych MySQL, jak pokazano poniżej. Jeśli chcesz pobrać wszystkie rekordy lub wiersze z tej tabeli bez żadnego limitu, zrobisz to za pomocą prostego zapytania SELECT w następujący sposób:
>> WYBIERZ * Z danych.nauczyciel;
Przykład 01: LIMIT tylko z numerem wiersza:
Jeśli użytkownik chce pobrać jakieś rekordy przy ograniczeniu liczby wierszy, może to zrobić za pomocą prostej klauzuli LIMIT w instrukcji SELECT. Wypróbujmy przykład korzystając z powyższej tabeli. Załóżmy, że chcesz wyświetlić tylko 6 wierszy z powyższej tabeli, jednocześnie wyświetlając wiersze w kolejności malejącej kolumny TeachName. Wypróbuj następujące zapytanie:
>> WYBIERZ * Z danych.nauczyciel ORDER BY TeachName DESC LIMIT 6;
Przykład 02: LIMIT z przesunięciem i numerem wiersza:
Wypróbujmy tę samą tabelę, aby zdefiniować przesunięcie obok numeru wiersza. Załóżmy, że musisz pobrać tylko 6 rekordów z tabeli, podczas gdy zwrócony rekord musi zaczynać się od 6ten rząd stołu. Wypróbuj następne zapytanie:
>> WYBIERZ * Z danych.nauczyciel DESC LIMIT 6, 6;
Przykład 03: LIMIT z klauzulą WHERE:
Załóżmy, że tabela „ta sama” znajduje się w bazie danych MySQL. Pobierz całą tabelę, sortując ją w porządku rosnącym według kolumny „id” za pomocą polecenia SELECT wraz z ORDER BY w następujący sposób:
>> WYBIERZ * Z danych.to samo ORDER BY id ASC;
Próbując podane zapytanie, otrzymamy losowo trzy rekordy w wieku od 12 do 34 lat z dowolnego losowego miejsca na stole. Natomiast w powyższej tabeli mamy ponad 6 rekordów w grupie wiekowej od 12 do 34 lat.
>> WYBIERZ * Z danych.to samo GDZIE wiek > '12' ORAZ wiek < '34' LIMIT 3;
Gdy użyjemy klauzuli ORDER BY w zapytaniu bez podania typu zamówienia, automatycznie pobierze rekord w kolejności rosnącej jak poniżej.
>> WYBIERZ * Z danych.to samo GDZIE wiek > '12' ORAZ wiek < '34' ORDER BY age LIMIT 3;
Aby pobrać ograniczony rekord w innej kolejności sortowania, musisz zdefiniować porządek sortowania. Ponieważ pobieramy dane z 8 wierszy, używając kolejności malejącej kolumny „wiek”.
>> WYBIERZ * Z danych.to samo GDZIE wiek > '12' ORAZ wiek < '34' ORDER BY age DESC LIMIT 8;
Pobierzmy tylko 2 wiersze, w których imię zwierzaka to „pies”. Przy wykonaniu mamy tylko 1 wynik, ponieważ znak „=” szukał dokładnego wzorca, a mamy tylko 1 rekord tego wzorca.
>> WYBIERZ * Z danych.to samo WHERE zwierzak = 'pies' ORDER BY id LIMIT 2;
Przykład 04: LIMIT z klauzulą LIKE i jej symbolami wieloznacznymi:
Szukaliśmy wzoru „pies” i otrzymaliśmy tylko 1 wynik. Chociaż w tabeli mamy więcej niż 1 rekord „pies”. Teraz pobierzemy te rekordy za pomocą klauzuli LIKE wraz z klauzulą LIMIT. Aby wyświetlić tylko 5 rekordów w tabeli, w których imię zwierzaka zaczyna się od „d”, wypróbuj poniższe zapytanie. Ponieważ mamy tylko 2 rekordy dla wzorca „pies”, dlatego mamy tylko 2.
>> WYBIERZ * Z danych.to samo WHERE zwierzak LIKE 'd%' ORDER BY id LIMIT 5;
Pobierzmy tylko 10 rekordów z tabeli, gdzie zwierzak musi mieć 'r' w dowolnym środkowym miejscu swojego imienia. Ponieważ mamy konia, papugę i królika u zwierząt domowych z literą 'r' w imieniu, dlatego mamy tylko 4 rekordy z tego zapytania.
>> WYBIERZ * Z danych.to samo WHERE zwierzak LIKE '%r%' ORDER BY id LIMIT 10;
Aby uzyskać 6 rekordów tabeli, w których imię zwierzaka musi mieć na końcu 't', uruchom podane zapytanie w powłoce wiersza poleceń SQL. Tutaj mamy 4 rekordy z tego zapytania.
>> WYBIERZ * Z danych.to samo WHERE zwierzak LIKE '%t' ORDER BY id LIMIT 6;
Aby uzyskać 8 rekordów tabeli, w której zadanie osoby musi mieć na końcu 'er', uruchom poniższe zapytanie w powłoce. Tutaj mamy 6 rekordów z tego zapytania.
>> WYBIERZ * Z danych.to samo GDZIE praca LIKE '%er' ZAMÓW WEDŁUG wieku LIMIT ASC 8;
Zmieńmy klauzulę WHERE wraz z instrukcją LIKE w zapytaniu SELECT. Załóżmy, że chcesz pobrać 6-wierszowy rekord z tabeli „taki sam”. Próbowałeś warunek, aby pobrać jedyne rekordy, w których 'fname' musi mieć 'a' na końcu swojej wartości, a 'lname' musi mieć 'a' w dowolnym środkowym miejscu swojej wartości. Z drugiej strony dane muszą być posortowane zgodnie z kolumną „wiek” w porządku malejącym. Aby uzyskać te 6 rekordów, uruchom poniższe zapytanie w powłoce wiersza poleceń SQL. Mamy 5 rekordów dla tego schorzenia, a wynik prezentujemy poniżej.
>> WYBIERZ * Z danych.to samo WHERE fname LIKE '%a' AND lname LIKE '%a%' ORDER BY wiek DESC LIMIT 5;
Wniosek:
Mam nadzieję, że jesteś w pełni przygotowany do tematu LIMT po wypróbowaniu prawie wszystkich przykładów klauzuli LIMIT wraz z jej członkami, e.sol., Przesunięcie i numer wiersza.