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
:
Результат: