Перейти к основному содержимому
Перейти к основному содержимому

OFFSET FETCH Клауза

OFFSET и FETCH позволяют вам извлекать данные порциями. Они указывают на блок строк, который вы хотите получить с помощью одного запроса.

Значение offset_row_count или fetch_row_count может быть числом или литеральной константой. Вы можете опустить fetch_row_count; по умолчанию оно равно 1.

OFFSET указывает количество строк, которые следует пропустить перед тем, как начать возвращать строки из набора результатов запроса.

FETCH указывает максимальное количество строк, которое может быть в результате запроса.

Опция ONLY используется для возврата строк, которые непосредственно следуют за строками, пропущенными с помощью OFFSET. В этом случае FETCH является альтернативой клауза LIMIT. Например, следующий запрос

идентичен запросу

Опция WITH TIES используется для возврата любых дополнительных строк, которые находятся в ничьей позиции в наборе результатов в соответствии с клаузой ORDER BY. Например, если fetch_row_count установлен в 5, но две дополнительные строки соответствуют значениям столбцов ORDER BY в пятой строке, набор результатов будет содержать семь строк.

примечание

Согласно стандарту, клаузу OFFSET необходимо помещать перед клаузой FETCH, если обе присутствуют.

примечание

Фактический сдвиг также может зависеть от настройки offset.

Примеры

Исходная таблица:

Использование опции ONLY:

Результат:

Использование опции WITH TIES:

Результат: