Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: función DENSO_RANGO
Este tutorial de Oracle explica cómo usar Oracle/PLSQL función DENSO_RANGO Con sintaxis y ejemplos.
describir
La función Oracle/PLSQL DENSE_RANK devuelve el rango de una fila dentro de un conjunto de filas. Es muy similar a la función RANK. Sin embargo, si los valores de prueba son los mismos, la función RANK hace que la clasificación sea discontinua. Mientras que la función DENSE_RANK siempre dará como resultado clasificaciones consecutivas.
La función DENSE_RANK se puede utilizar de dos formas: como función agregada o como función analítica.
Sintaxis de la función DENSE_RANK n.º 1: se utiliza como función agregada
Como función agregada, la función DENSE_RANK devuelve el rango de densidad de una fila en un conjunto de filas.
La sintaxis de la función DENSE_RANK cuando se usa como una función agregada es:
DENSE_RANK( expression1, ... expression_n ) WITHIN GROUP ( ORDER BY expression1, ... expression_n )
parámetro o parámetro
expresión1 .. expresión_n Una o más expresiones que identifican filas únicas en el grupo.
devolver los bienes
La función DENSE_RANK devuelve un valor numérico.
notas
- El número de expresiones en la primera lista de expresiones debe ser el mismo que el número en la cláusula ORDER BY.
- Las listas de expresiones coinciden posicionalmente, por lo que los tipos de datos deben ser compatibles entre las expresiones de la primera lista de expresiones, como en una cláusula ORDER BY.
aplicar para
La función DENSE_RANK está disponible en las siguientes versiones de Oracle/PLSQL:
- Oráculo 12c, Oráculo 11g, Oráculo 10g, Oráculo 9i
Ejemplo (como función agregada)
Veamos algunos ejemplos de la función DENSE_RANK de Oracle y exploremos cómo usar la función DENSE_RANK en Oracle/PLSQL.
Por ejemplo:
select DENSE_RANK(1000, 500) WITHIN GROUP (ORDER BY salary, bonus) from employees;
La instrucción SQL anterior devolverá el nivel intensivo de empleados en la tabla de empleados con un salario de $1000 y una bonificación de $500.
Sintaxis de la función DENSE_RANK n.° 2: utilizada como función analítica
Como función analítica, la función DENSE_RANK devuelve el rango de cada fila de la consulta en relación con otras filas.
La sintaxis de la función DENSE_RANK cuando se usa como función analítica es:
DENSE_RANK() OVER ( [ query_partition_clause] ORDER BY clause )
devolver los bienes
La función DENSE_RANK devuelve un valor numérico.
aplicar para
La función DENSE_RANK está disponible en las siguientes versiones de Oracle/PLSQL:
- Oráculo 11g, Oráculo 10g, Oráculo 9i, Oráculo 8i
Ejemplo (como función analítica)
Veamos algunos ejemplos de la función DENSE_RANK de Oracle y exploremos cómo usar la función DENSE_RANK en Oracle/PLSQL.
Por ejemplo:
select employee_name, salary, DENSE_RANK() OVER (PARTITION BY department ORDER BY salary) from employees where department="Marketing";
La declaración SQL anterior devolverá todos los empleados que trabajan en el departamento de marketing y luego calculará el rango para cada salario único en el departamento de marketing. Si dos empleados tienen el mismo salario, la función DENSE_RANK devolverá el mismo rango para ambos empleados.