lunes, 28 de diciembre de 2015

Función LIMIT de mySQL equivalente en SQL Server para paginaciones

La función Limit se suele utilizar para determinar un número concreto de filas, pero para eso ya existe en SQL Server Top.

Por ejemplo:

SELECT TOP 10  Codigo FROM dudas

Que sería lo equivalente a:

SELECT Codigo FROM dudas LIMIT 10

Pero a parte e esto se puede utilizar para PAGINAR, lo malo es que esta función no la tenemos para SQL Server y por lo tanto se puee hacer de esta forma siguiente:

A partir de este ejempo en mysql, donde se devolverla 10 filas a partir de la fila 0.

SELECT 
   Codigo 
FROM dudas 
ORDER BY Codigo DESC
LIMIT 10 OFFSET 0

Obtenemos los mismos resultados así:

SELECT Codigo
FROM
(
      SELECT

          Codigo,
          ROW_NUMBER() OVER (ORDER BY Codigo DESC) as numFila
      FROM dudas
) subSelect
WHERE numFila > 0 AND numFila <= 0 + 10



No hay comentarios:

Publicar un comentario