Omówmy tajniki korzystania z klauzuli limitu PostgreSQL, aby ograniczyć wyjście do określonej wartości.
Chociaż klauzula limitu jest opcjonalnym stwierdzeniem, jest bardzo przydatna, gdy nie chcesz, aby zapytanie zwróciło tysiące rekordów.
Podstawowe użycie
Klauzula limitu jest dość prosta. Ogólna składnia zapytania to:
Wybierz Wybierz_lst z limitu tabeli liczba | WSZYSTKOWartość graniczna to wartość liczb całkowita, która określa limit wiersza dla wyjścia.
Na przykład, jeśli zapytanie zwraca 100 rekordów i ustawiasz limit na 5, wyświetlane są tylko 5 wierszy.
NOTATKA: O ile samo zapytanie zwróci mniej wartości niż te określone w klauzuli limitu, wartość limitu zawsze ustawia wartość zwracaną.
Jeśli LIMIT Wartość jest ustawiona na 0, zapytanie zwróci pusty zestaw. Z drugiej strony, jeśli nie jest ustalona żadna wartość LIMIT klauzula (null), zapytanie zwróci te same wartości, ponieważ nie ma LIMIT określona klauzula.
Przykłady klauzuli limitu PostgreSQL
Zilustrujmy, jak korzystać z LIMIT klauzula według przykładów.
Przykład 1
Pierwszy przykład pokazuje proste użycie LIMIT klauzula. W tym przykładzie będziemy używać przykładowej bazy danych Sakila.
Rozważ stół filmowy; Możemy określić liczbę rekordów za pomocą zapytania:
Wybierz liczbę (*) z filmu;W tym przykładzie tabela zawiera 1000 rekordów. Zrzucenie wszystkich rekordów może nie być bardzo wydajne. Zamiast tego możemy ograniczyć wyjście do tylko 10 rekordów jako:
Wybierz Film_id, tytuł, wydanie_year, ocena z filmu limit 10;To polecenie powinno zwrócić filtrowane informacje, jak pokazano w poniższej tabeli:
Przykład 2
W większości przypadków, ograniczając wyjście, dobrze jest zamówić przez określoną kolumnę. To pozwala zrozumieć zwrócone wartości.
Na przykład możemy zamówić dane wyjściowe w poprzednim przykładzie przez Film_id.
Przykładowe zapytanie znajduje się poniżej:
Wybierz Film_ID, tytuł, wydanie_year, ocena z kolejności filmu według filmu_id limit 10;W tym przykładzie wyniki są zorganizowane przez film_id w rosnącym zamówieniu-w poprzednim przykładzie, w którym wynik był w losowej kolejności.
Przykład 3
Jest znajomy z klauzuli limitowej. Klauzula przesunięcia jest dość podobna do klauzuli limitu, ale pomija tylko określoną liczbę wierszy.
Na przykład, aby rozpocząć wynik ze 100 wiersza, możemy ustawić przesunięcie jako:
Wybierz Film_id, tytuł, wydanie_year, ocena z kolejności filmu według filmu_id offset 99;W tym przykładzie wynik zaczyna się od 100. rzędu do przodu.
Podobnie dobrze jest zamówić wyniki, aby przestrzegać określonej kolejności.
Przykład 4
Możesz także użyć klauzul limitów i przesunięcia w tym samym zapytaniu. Rozważmy na przykład pytanie poniżej:
Wybierz Film_id, tytuł, wydanie_year, ocena z kolejności filmu według filmu_id offset 3 limit 10;Kolejność Limit i przesunięcie jest nieistotne jak ZRÓWNOWAŻYĆ zostaje oceniany najpierw niż Ogranicz klauzulę.
Przykład 5
Jak wspomniano, możesz użyć limitu 0, który nie zwraca żadnych rekordów. Zwraca jednak kolumny jako:
Wybierz * Z kolejności filmu według filmu_id limit 0;Przykład 6
Możesz także użyć LIMIT klauzula w połączeniu z ZAMÓW PRZEZ Aby uzyskać określoną liczbę ostatnich elementów.
Na przykład, aby uzyskać ostatnie 5 elementów w tabeli, możemy ustawić ZAMÓW PRZEZ klauzula Desc i limit wartość do 5 jako:
Wybierz Film_ID, tytuł, wydanie_year, ocena z kolejności filmu przez Film_id DESC Limit 5;W tym przykładzie powinniśmy uzyskać 5 ostatnich elementów jako:
Wniosek
W tym szybkim przewodniku omówiliśmy, jak Limit i przesunięcie Klauzula działa. Wykorzystaliśmy również kilka przykładów, aby zilustrować, w jaki sposób możesz wykorzystać jego funkcje, aby uzyskać dostosowane wyniki.