Microsoft SQL Server
Ограничить набор результатов
Поиск…
Вступление
По мере роста таблиц базы данных часто бывает полезно ограничить результаты запросов фиксированным числом или процентом. Этого можно достичь с помощью ключевого слова TOP
SQL или предложения OFFSET FETCH
.
параметры
параметр | подробности |
---|---|
TOP | Ограничить ключевое слово. Используйте с числом. |
PERCENT | Процентное ключевое слово. Поставляется после TOP и предельного числа. |
замечания
Если используется предложение ORDER BY
, ограничение применяется к упорядоченному набору результатов.
Ограничение с помощью TOP
Этот пример ограничивает результат SELECT
до 100 строк.
SELECT TOP 100 *
FROM table_name;
Также можно использовать переменную, чтобы указать количество строк:
DECLARE @CountDesiredRows int = 100;
SELECT TOP (@CountDesiredRows) *
FROM table_name;
Ограничение с помощью PERCENT
Этот пример ограничивает результат SELECT
до 15 процентов от общего количества строк.
SELECT TOP 15 PERCENT *
FROM table_name
Ограничение с помощью FETCH
SQL Server 2012
FETCH
обычно более полезен для разбивки на страницы, но может использоваться как альтернатива TOP
:
SELECT *
FROM table_name
ORDER BY 1
OFFSET 0 ROWS
FETCH NEXT 50 ROWS ONLY
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow