Я пытался понять немного о том, как реализовать пользовательский пейджинг в SQL, например, читая статьи, подобные этой .
У меня есть следующий запрос, который отлично работает. Но я хотел бы реализовать пейджинг с этим.
SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
from dbForumEntry
group by PostId ) SubQueryAlias
order by LastDate desc
Что это я хочу
У меня есть сообщения на форуме, с соответствующими записями. Я хочу получать сообщения с последними добавленными записями, чтобы выбрать недавно обсужденные сообщения.
Теперь я хочу получить «10 из 20 последних активных сообщений» вместо «10 лучших».
Что я пробовал
Я попытался реализовать функции ROW, как в статье, но на самом деле безуспешно.
Есть идеи как это реализовать?
источник
WHERE RowNumber >= @Start AND RowNumber < @End
получить первые 1000 строк, если@Start
0 и@End
1000?Чтобы сделать это в SQL Server, необходимо упорядочить запрос по столбцу, чтобы можно было указать нужные строки.
Пример:
И вы не можете использовать ключевое слово "TOP" при этом.
Вы можете узнать больше здесь: https://technet.microsoft.com/pt-br/library/gg699618%28v=sql.110%29.aspx
источник
используйте это в конце вашего выбора синтаксиса. знак равно
источник
SQL 2008
Ответ Радима Келера работает, но вот более короткая версия:
Источник: https://forums.asp.net/post/4033909.aspx
источник
Вы можете использовать вложенный запрос для разбивки на страницы следующим образом:
Пейджинг от 4 строки до 8 строки, где CustomerId является первичным ключом .
источник