Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite LIMIT klauzula ograniczająca liczbę wierszy zwracanych przez zapytanie.
Wprowadzenie do SQLite LIMIT klauzula
LIMIT klauzula jest opcjonalną częścią SELECT oświadczenie. Używasz LIMIT klauzula ograniczająca liczbę wierszy zwracanych przez zapytanie.
Na przykład SELECT wyciąg może zwrócić milion wierszy. Jeśli jednak potrzebujesz tylko pierwszych 10 wierszy w zestawie wyników, możesz dodać LIMIT klauzula SELECT oświadczenie do pobrania 10 wierszy.
Poniżej zilustrowano składnię LIMIT klauzula.
SELECT
column_list
FROM
table
LIMIT row_count;Code language: SQL (Structured Query Language) (sql)
row_count jest dodatnią liczbą całkowitą, która określa liczbę zwróconych wierszy.
Na przykład, aby uzyskać pierwsze 10 wierszy w tracks tabeli, użyj następującego stwierdzenia:
SELECT
trackId,
name
FROM
tracks
LIMIT 10;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Jeśli chcesz uzyskać pierwsze 10 wierszy zaczynając od 10 wierszy zestawu wyników, użyj OFFSET słowo kluczowe w następujący sposób:
SELECT
column_list
FROM
table
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)
Możesz też użyć następującej skróconej składni LIMIT OFFSET klauzula:
SELECT
column_list
FROM
table
LIMIT offset, row_count;Code language: SQL (Structured Query Language) (sql)
Na przykład, aby uzyskać 10 wierszy zaczynając od 11 wiersza w tracks tabeli, użyj następującego stwierdzenia:
SELECT
trackId,
name
FROM
tracks
LIMIT 10 OFFSET 10;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Często spotykasz zastosowania OFFSET w aplikacjach internetowych do stronicowania zbiorów wyników.
SQLite LIMIT i ORDER BY klauzula
Powinieneś zawsze używać LIMIT klauzula z ORDER BY klauzula. Ponieważ chcesz uzyskać liczbę wierszy w określonej kolejności, a nie w nieokreślonej kolejności.
ORDER BY klauzula pojawia się przed LIMIT klauzula w SELECT oświadczenie. SQLite sortuje zestaw wyników przed uzyskaniem liczby wierszy określonej w LIMIT klauzula.
SELECT
column_list
FROM
table
ORDER BY column_1
LIMIT row_count;Code language: SQL (Structured Query Language) (sql) Na przykład, aby uzyskać 10 największych utworów według rozmiaru, użyj następującego zapytania:
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes DESC
LIMIT 10;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Aby uzyskać 5 najkrótszych ścieżek, posortuj je według długości określonej w kolumnie milisekund za pomocą ORDER BY i pobierz pierwsze 5 wierszy za pomocą LIMIT klauzula.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds ASC
LIMIT 5;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Uzyskiwanie n najwyższej i najniższej wartości
Możesz użyć ORDER BY i LIMIT klauzul, aby uzyskać n wierszy o najwyższej lub najniższej wartości. Na przykład możesz chcieć poznać drugą najdłuższą ścieżkę, trzecią najmniejszą ścieżkę itp.
Aby to zrobić, wykonaj następujące czynności:
- Najpierw użyj
ORDER BYaby posortować zestaw wyników w porządku rosnącym w przypadku, gdy chcesz uzyskać n najmniejszą wartość, lub w porządku malejącym, jeśli chcesz uzyskać n najwyższą wartość. - Po drugie, użyj
LIMIT OFFSETklauzula, aby uzyskać n najwyższy lub n najniższy wiersz.
Poniższa instrukcja zwraca drugą najdłuższą ścieżkę w tracks tabela.
SELECT
trackid,
name,
milliseconds
FROM
tracks
ORDER BY
milliseconds DESC
LIMIT 1 OFFSET 1;Code language: SQL (Structured Query Language) (sql) Wypróbuj
Poniższa instrukcja pobiera trzecią najmniejszą ścieżkę na tracks tabela.
SELECT
trackid,
name,
bytes
FROM
tracks
ORDER BY
bytes
LIMIT 1 OFFSET 2;Code language: SQL (Structured Query Language) (sql) Wypróbuj
W tym samouczku nauczyłeś się korzystać z SQLite LIMIT klauzula ograniczająca liczbę wierszy zwracanych przez zapytanie.