2010-06-26 2 views
0

Возможно ли изменить выбор первых n строк, чтобы выбрать верхние n строк, начиная с строки, отличной от 0. Мое (мобильное) приложение имеет ограниченные ресурсы и не доступно кэширование на стороне сервера. Максимальное количество возвращаемых строк равно 100. Я получаю первые 100 путем выбора 100 лучших. Затем мне хотелось бы, чтобы пользователь мог запросить строки 101-200 и так далее. Данные базы данных являются статическими, а время повторного запроса незначительно. Платформа SQL Server 2008Вариация на Select top n

ответ

2
;With CTETable AS 
(
    SELECT ROW_NUMBER() OVER (ORDER BY Column_Name DESC) AS ROW_NUM, * FROM TABLENAME WHERE <CONDITION> 
) 

SELECT Column_List FROM CTETable WHERE ROWN_NUM BETWEEN <StartNum> AND <EndNum> 

Используйте ваши [startNum] и [EndNum] для любой серии, которую вы хотите, возможно, 123 - 147! Это будет хорошо работать!