Извлечение диапазона строк

Последнее обновление: 13.07.2017

Оператор TOP

Оператор TOP позволяет выбрать определенное количество строк из таблицы:

SELECT TOP 4 ProductName
FROM Products
SELECT TOP в T-SQL

Дополнительный оператор PERCENT позволяет выбрать процентное количество строк из таблицы. Например, выберем 75% строк:

SELECT TOP 75 PERCENT ProductName
FROM Products

OFFSET и FETCH

Оператор TOP позволяет извлечь определенное количество строк, начиная с начала таблицы. Для извлечения набора строк из любого места, применяются операторы OFFSET и FETCH. Важно, что эти операторы применяются только в отсортированном наборе данных после выражения ORDER BY.

ORDER BY выражение 
	OFFSET смещение_относительно_начала {ROW|ROWS}
	[FETCH {FIRST|NEXT} количество_извлекаемых_строк {ROW|ROWS} ONLY]

Например, выберем все строки, начиная с третьей:

SELECT * FROM Products
ORDER BY Id 
	OFFSET 2 ROWS;

Число после ключевого слова OFFSET указывает, сколько строк необходимо пропустить.

ORDER BY и OFFSET в T-SQL

Теперь выберем только три строки, начиная с третьей:

SELECT * FROM Products
ORDER BY Id 
	OFFSET 2 ROWS
	FETCH NEXT 3 ROWS ONLY;

После оператора FETCH указывается ключевое слово FIRST или NEXT (какое именно в данном случае не имеет значения) и затем указывается количество строк, которое надо получить.

OFFSET и FETCH в T-SQL и постраничная навигация

Данная комбинация операторов, как правило, используется для постраничной навигации, когда необходимо получить определенную страницу с данными.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850