Jun 01

Funciones de ventana en #sqlserver …OVER Y PARTITION BY

Una función de ventana es una función que se aplica a un conjunto de filas definidas y devuelve un valor único para cada fila.

OVER define una ventana o  conjunto de filas definido por el usuario y que  calcula un valor para cada fila de la ventana. Puede utilizarse para calcular valores  tales como medias, agregados acumulados, totales acumulados, etc… etc..

Captura

En este select se muestra el Id del Pedido, Fecha y Val. Se la ordena por fecha y se pone un numero de fila.

Esto puede venir bien para temas de ranking aunque veremos mas concretamente como hacerlo..

El fichero: http://1drv.ms/1FiLZib

Ahora vamos con PARTITION BY,  que divide el conjunto de resultados en particiones.

CapturaEste select l que nos muestra las columnas IdPedido, FechaPedido, custid y val, así como una columna calculada llamado orderrankno.

La columna orderrankno muestra el rango por cada cliente de forma independiente, en base a pedidos y el campo val en orden descendente.

El ficherito:http://1drv.ms/1Qj6xgw