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