por Cesar Cassiano Schimanco

Criar paginação no SQL Server (solução para LIMIT do MySQL no SQL Server)

Para quem usa o LIMIT do MySQL para limitar os resultados da sua consulta, ou seja, retornar o resultado entre um intervalo (paginação).

SELECT * FROM clients LIMIT 5, 5 

No SQL Server vamos usar a clausula WITH para retornar um resultado temporário e ROW_NUMBER() para criar uma coluna com números sequencias, este resultado é similar a uma tabela temporária, com a diferença que com WITH não precisamos criá-la antes e preenchê-la depois, porém em uma expressão de tabela comum devemos chamá-la logo após declararmos.

LIMIT no SQL Server ficaria assim:

WITH clientes AS
(
    SELECT *,
    indice = ROW_NUMBER() OVER (ORDER BY nome) 
    FROM clientes
)
SELECT *
FROM clientes
WHERE indice BETWEEN 5 AND 10
ORDER BY nome

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...