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

Клауза 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 в пятой строке, набор результатов будет содержать семь строк.

примечание

Согласно стандарту, клаузa OFFSET должна предшествовать клаузе FETCH, если обе присутствуют.

примечание

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

Примеры

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

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

Результат:

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

Результат: