Секция OFFSET FETCH
OFFSET и FETCH позволяют извлекать данные по частям. Они указывают строки, которые вы хотите получить в результате запроса.
offset_row_count или fetch_row_count может быть числом или литеральной константой. Если вы не задаете fetch_row_count явно, используется значение по умолчанию, равное 1.
OFFSET указывает количество строк, которые необходимо пропустить перед началом возврата строк из запроса.
FETCH указывает максимальное количество строк, которые могут быть получены в результате запроса.
Опция ONLY используется для возврата строк, которые следуют сразу же за строками, пропущенными секцией OFFSET. В этом случае FETCH — это альтернатива LIMIT. Например, следующий запрос
идентичен запросу
Опция WITH TIES используется для возврата дополнительных строк, которые привязываются к последней в результате запроса. Например, если fetch_row_count имеет значение 5 и существуют еще 2 строки с такими же значениями столбцов, указанных в ORDER BY, что и у пятой строки результата, то финальный набор будет содержать 7 строк.
Секция OFFSET должна находиться перед секцией FETCH, если обе присутствуют.
Общее количество пропущенных строк может зависеть также от настройки offset.
Примеры
Входная таблица:
Использование опции ONLY:
Результат:
Использование опции WITH TIES:
Результат: