Blogging googling

La función rank() de Oracle nos puede servir para ordenar un conjunto de registros.

Por ejemplo, podríamos obtener los 2 empleados con mayor salario de cada departamento de la siguiente manera:

select nombre, salario
from(
   select rank() over(partition by departamento order by salario desc) orden,
      nombre, salario
   from empleados

where orden <=2 

en la consulta anterior ‘partition by’ específica el campo por el cual queremos agrupar los registros -departamento en este caso-. La clausula ‘order by’ específica la columna que determinará el ranking dentro del grupo, y finalmente ‘desc’ ordenará los empleados de mayor salario a menor.

Ver la entrada original

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: