Получение диапазона строк. Оператор LIMIT

Последнее обновление: 29.11.2021

Оператор LIMIT позволяет задать ограничение на количество строк и имеет следующий синтаксис:

LIMIT [смещение,] количество_строк

Если оператору LIMIT передается один параметр, то он указывает на количество извлекаемых строка. Если передается два параметра, то первый параметр устанавливает смещение относительно начала, то есть сколько строк нужно пропустить, а второй параметр также указывает на количество извлекаемых строк.

Также можно использовать другую форму, где смещение указывается после оператора OFFSET:

LIMIT количество_строк OFFSET смещение

Допустим, у нас есть следующая таблица users

DROP TABLE IF EXISTS users;
CREATE TABLE users
(
    id INTEGER PRIMARY KEY AUTOINCREMENT,
	name TEXT,
    age INTEGER
);
INSERT INTO users (name, age) VALUES 
('Tom', 37),
('Bob', 41),
('Sam', 25),
('Kate', 29),
('Alice', 33),
('Ann', 27);

Например, выберем первые три строки:

SELECT * FROM users
LIMIT 3;
Оператор LIMIT в SQLite

Теперь используем второй параметр и укажем смещение, с которой должна происходить выборка:

SELECT * FROM users
LIMIT 2, 3;

В данном случае пропускаются две первые строки и извлекаются следующие 3 строки:

LIMIT и OFFSET в SQLite

В качестве альтернативы можно задать смещение после оператора OFFSET:

SELECT * FROM users
LIMIT 3 OFFSET 2;

Как правило, оператор LIMIT используется вместе с оператором ORBER BY:

SELECT * FROM users
ORDER BY name
LIMIT 2, 3;
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850