Ultimo valor asignado por ROW_NUMBER() -- SQL 2005

06/03/2008 - 21:27 por Fernando Mosquera Catarecha | Informe spam
Buenas tardes a todos,



Les escribo para consultarles si hay alguna forma de obtener el ultimo valor
que asigno la función "ROW_NUMBER()".



Actualmente la estoy utilizando para enumerar los registros devueltos por
una consultar a fin de paginarlos.





Ejemplo:

SELECT

col1

,col2

,ROW_NUMBER() OVER (ORDER BY [col1]) AS 'RowNumber'

FROM tabla

WHERE RowNumber BETWEEN 1 AND 10



Muchas gracias a todos por su tiempo.



Saludos,

Fernando.
 

Leer las respuestas

#1 Alejandro Mesa
07/03/2008 - 04:18 | Informe spam
Fernando Mosquera Catarecha,

La funcion ROW_NUMBER() no puede usarse en la clausula "where". Deberas usar
una tabla derivada o una CTE. Para saber la cantidad de filas enumeradas,
pudieras usar una funcion de agragacion en conjunto con la clausula OVER.

;with cte
as
(
select
c1,
c2,
c3,
row_number() over(order by c1) as rn,
count(*) over() as cnt
from dbo.t1
where c1 between @x and @y
)
select *
from cte
where rn between 1 and 10;


AMB

"Fernando Mosquera Catarecha" wrote:

Buenas tardes a todos,



Les escribo para consultarles si hay alguna forma de obtener el ultimo valor
que asigno la función "ROW_NUMBER()".



Actualmente la estoy utilizando para enumerar los registros devueltos por
una consultar a fin de paginarlos.





Ejemplo:

SELECT

col1

,col2

,ROW_NUMBER() OVER (ORDER BY [col1]) AS 'RowNumber'

FROM tabla

WHERE RowNumber BETWEEN 1 AND 10



Muchas gracias a todos por su tiempo.



Saludos,

Fernando.



Preguntas similares