Поделиться через


SKIP (язык Entity SQL)

Вложенное предложение SKIP в предложении ORDER BY позволяет проводить физическое разбиение на страницы. Ключевое слово SKIP не может использоваться отдельно от предложения ORDER BY.

[ SKIP n ]

Аргументы

  • n
    Число элементов, которые нужно пропустить.

Замечания

Если в предложении ORDER BY есть вложенное предложение SKIP, то результаты будут отсортированы в соответствии со спецификацией сортировки, а результирующий набор будет включать строку или строки, начиная со строки, следующей непосредственно за значением выражения SKIP. Например, SKIP 5 пропустит первые пять строк и вернет все строки, начиная с шестой.

NoteПримечание.

Если в одном предложении запроса присутствуют модификатор TOP и вложенное предложение SKIP, то запрос Entity SQL является недопустимым. Его следует переписать, заменив выражение TOP выражением LIMIT.

NoteПримечание.

В SQL Server 2000 использование предложения SKIP вместе с ORDER BY для неключевых столбцов может привести к возврату неверных результатов. Если неключевой столбец содержит повторяющиеся данные, то может быть пропущено больше указанного числа строк. Причина этого заключается в способе преобразования предложения SKIP для выполнения в SQL Server 2000. Например, в следующем коде может быть пропущено более пяти строк, если столбец E.NonKeyColumn содержит повторяющиеся значения:

SELECT [E] FROM Container.EntitySet AS [E] ORDER BY [E].[NonKeyColumn] DESC SKIP 5L

Примеры

В следующем запросе Entity SQL для задания порядка сортировки объектов, возвращаемых инструкцией SELECT, используется оператор ORDER BY с предложением SKIP. Запрос основан на модели AdventureWorks Sales. Для компиляции и запуска этого запроса выполните следующие шаги.

  1. Следуйте инструкциям в разделе Как выполнить запрос, возвращающий результаты типа StructuralType (EntityClient).

  2. Передайте следующий запрос в качестве аргумента методу ExecuteStructuralTypeQuery:

SELECT VALUE p FROM AdventureWorksEntities.Product 
    AS p order by p.ListPrice SKIP(70)

Далее показан вывод.

ProductID: 392
Name: Hex Nut 3
ProductNumber: HN-6320
MakeFlag: False
ProductID: 393
Name: Hex Nut 14
ProductNumber: HN-7161
MakeFlag: False
ProductID: 394
Name: Hex Nut 15
ProductNumber: HN-7162
MakeFlag: False
ProductID: 395
Name: Hex Nut 4
ProductNumber: HN-8320
MakeFlag: False
ProductID: 396
Name: Hex Nut 18
ProductNumber: HN-9161
MakeFlag: False

См. также

Задачи

Как постранично просмотреть результаты запроса (платформа Entity Framework)

Справочник

ORDER BY (язык Entity SQL)
TOP (Entity SQL)

Основные понятия

Разбиение на страницы (язык Entity SQL)