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 BY
aby 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 OFFSET
klauzula, 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.