Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предложение SELECT может иметь необязательное вложенное предложение TOP после необязательного модификатора ALL/DISTINCT. Вложенное предложение TOP указывает, что из результата запроса будет возвращен только первый набор строк.
Синтаксис
[ TOP (n) ]
Аргументы
n Числовое выражение, указывающее количество возвращаемых строк.
n может быть одним числовым литералом или одним параметром.
Замечания
Выражение TOP должно быть либо одним числовым литералом, либо одним параметром. Если используется константный литерал, то литеральный тип должен быть неявно промотируемым в Edm.Int64 (байт, int16, int32 или int64 или любой тип поставщика, который сопоставляется с типом, который является промотируемым с Edm.Int64) и его значение должно быть больше или равно нулю. В противном случае возникнет исключение. Если параметр используется в качестве выражения, тип параметра также должен быть неявно промотабельным для Edm.Int64, но во время компиляции не будет проверяться фактическое значение параметра, так как значения параметров поздно привязаны.
Ниже приведен пример константного выражения TOP:
select distinct top(10) c.a1, c.a2 from T as a
Ниже приведен пример параметризованного выражения TOP:
select distinct top(@topParam) c.a1, c.a2 from T as a
TOP не детерминирован, если запрос не отсортирован. Если требуется детерминированный результат, используйте вложенные предложения SKIP и LIMIT в предложении ORDER BY . Top и SKIP/LIMIT являются взаимоисключающими.
Пример
Следующий запрос Entity SQL использует top, чтобы указать верхнюю строку, возвращаемую из результата запроса. Запрос основан на модели продаж AdventureWorks. Чтобы скомпилировать и запустить этот запрос, выполните следующие действия.
Выполните процедуру, описанную в разделе "Практическое руководство. Выполнение запроса, возвращающего результаты структурного типа".
Передайте следующий запрос в качестве аргумента в
ExecuteStructuralTypeQueryметод:SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact