Клауза 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
, если обе присутствуют.
Примеры
Исходная таблица:
Использование опции ONLY
:
Результат:
Использование опции WITH TIES
:
Результат: