Возможно ли изменить выбор первых n строк, чтобы выбрать верхние n строк, начиная с строки, отличной от 0. Мое (мобильное) приложение имеет ограниченные ресурсы и не доступно кэширование на стороне сервера. Максимальное количество возвращаемых строк равно 100. Я получаю первые 100 путем выбора 100 лучших. Затем мне хотелось бы, чтобы пользователь мог запросить строки 101-200 и так далее. Данные базы данных являются статическими, а время повторного запроса незначительно. Платформа SQL Server 2008Вариация на Select top n
0
A
ответ
2
Here's an article, которая демонстрирует такие запросы с использованием функции ROW_NUMBER.
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! Это будет хорошо работать!