Índice

Las funciones de paginación

Las funciones de paginación permiten ordenar las filas o realizar cálculos sobre subgrupos después de haber particionado los registros.

1. Numeración secuencial y ordenación de filas Funciones de paginación:numeración secuencial Funciones de paginación:ordenación de filas

Estas son las funciones que permiten ordenar filas. RANK permite numerar filas en un orden determinado. DENSE_RANK permite numerar las filas en un orden con números consecutivos. ROW_NUMBER permite numerar filas con números consecutivos, como una serie. La numeración se puede realizar sobre subgrupos de registros. RANK DENSE_RANK ROW_NUMBER

A continuación se muestran ejemplos de numeración de la tabla tarifas por precio, con y sin partición por tipo de habitación.

Ejemplos para SQL Server, Oracle y PostgreSQL OVER

SELECT Hotel, tipoHabitacion, Precio, RANK() OVER(ORDER BY Precio DESC) 
AS Numero, DENSE_RANK() OVER(ORDER BY Precio DESC) AS NumeroConsecutivo, 
ROW_NUMBER() OVER(ORDER BY Precio DESC) AS Consecutivo FROM Tarifas;

Hotel

tipoHabitacion

Precio

Numero

Numero Consecutivo

Consecutivo

2

7

103,49

1

1

1

3

7

103,49

1

1

2

1

7

103,49

1

1

3

4

7

103,49

1

1

4

4

6

91,99

5

2

5

1

6

91,99

5

2

6

SELECT Hotel, tipoHabitacion, Precio  
, RANK() OVER(PARTITION BY TipoHabitacion ORDER BY Precio DESC) AS Numero 
, DENSE_RANK() OVER(PARTITION BY TipoHabitacion ORDER BY Precio DESC) AS 
NumeroConsecutivo  
, ROW_NUMBER() OVER(PARTITION ...