Cláusula similar ao LIMIT no SQL Server
Há tempos venho desenvolvendo sistemas usando PHP + SQLServer, e uma das coisas que senti muita falta inicialmente (neste caso, pra gerar uma paginação de resultados) foi a cláusula LIMIT, ausente na linguagem de queries da Microsoft.
Mas isso realmente não é um problema pra quem usa alguma plataforma da MS para o desenvolvimento, como VB ou .NET, que já dispõem de ferramentas para paginação, mas como não é o meu caso…
Nesta solução eu uso 3 queries aninhadas. Bastar executar e dar uma olhada pra entender como funciona.
DECLARE @page INT = 1 DECLARE @perPage INT = 10 SELECT * FROM ( SELECT TOP (@perPage) nome, telefone, email FROM ( SELECT TOP (@page * @perPage) nome, telefone, email FROM clientes ORDER BY nome ASC ) AS novaTabela1 ORDER BY nome DESC ) AS novaTabela2 ORDER BY nome ASC |