Hoje me perguntaram uma forma de fazer paginação no MS SQL Server, encontrei uma forma de fazer e achei legal compartilhar. Apesar de ser fácil não é muito trivial.
SELECT IdUsuario
, Nome
FROM (SELECT ROW_NUMBER() OVER (ORDER BY IdUsuario ASC) AS Row
,IdUsuario
,Nome
FROM tbUsuarios) AS Usuarios
WHERE Row BETWEEN 1 AND 5
, Nome
FROM (SELECT ROW_NUMBER() OVER (ORDER BY IdUsuario ASC) AS Row
,IdUsuario
,Nome
FROM tbUsuarios) AS Usuarios
WHERE Row BETWEEN 1 AND 5
Importante: o campo referenciado no ROW_NUMBER() deve sempre ser uma chave primária para que não haja alteração na paginação.
Nenhum comentário:
Postar um comentário