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

Клаузула 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:

Результат: