Перейти к основному содержанию
OFFSET и FETCH позволяют получать данные порциями. Они задают блок строк, который нужно получить одним запросом.
Значение offset_row_count или fetch_row_count может быть числом или литеральной константой. fetch_row_count можно опустить; по умолчанию оно равно 1. OFFSET задает количество строк, которые нужно пропустить перед тем, как начать возвращать строки из результирующего набора запроса. OFFSET n пропускает первые n строк результата. Поддерживается и отрицательный OFFSET: OFFSET -n пропускает последние n строк результата. Также поддерживается дробный OFFSET: OFFSET n — если 0 < n < 1, то пропускаются первые n * 100% результата. Пример: • OFFSET 0.1 - пропускает первые 10% результата.
Примечание • Дробное значение должно быть числом Float64, меньшим 1 и больше нуля. • Если в результате вычисления получается дробное число строк, оно округляется вверх до следующего целого числа.
FETCH задает максимальное количество строк, которое может содержаться в результате запроса. Параметр ONLY используется для возврата строк, которые идут сразу после строк, пропущенных OFFSET. В этом случае FETCH служит альтернативой выражению LIMIT. Например, следующий запрос
совпадает с запросом
Опция WITH TIES используется для возврата всех дополнительных строк, которые делят последнее место в результирующем наборе согласно предложению ORDER BY. Например, если fetch_row_count равно 5, но ещё две строки имеют те же значения в столбцах ORDER BY, что и пятая строка, результирующий набор будет содержать семь строк.
Согласно стандарту, предложение OFFSET должно идти перед предложением FETCH, если присутствуют оба.
Фактическое смещение также может зависеть от настройки offset.

Примеры

Исходная таблица:
Использование параметра ONLY:
Query
Response
Использование опции WITH TIES:
Query
Response
Последнее изменение 19 июня 2026 г.