Articles

RANGO

Posted by admin

Agregado Sintaxis

rank_aggregate::=

Descripción de la ilustración rank_aggregate.gif

Analítica de la Sintaxis

rank_analytic::=

Descripción de la ilustración rank_analytic.gif

Ver también:

«funciones analíticas»para obtener información sobre sintaxis, semántica y restricciones

propósito

RANK calcula el rango de un valor en un grupo de valores. El tipo devuelto es NUMBER.,

vea también:

tabla 2-10, «matriz de conversión de tipo implícito» para más información sobre la conversión implícita y «precedencia numérica» para información sobre precedencia numérica

Las filas con valores iguales para los criterios de clasificación reciben el mismo rango. Oracle Database agrega el número de filas vinculadas al rango vinculado para calcular el siguiente rango. Por lo tanto, los rangos no pueden ser números consecutivos. Esta función es útil para los informes top-N y bottom-N.,

  • como una función agregada,RANK calcula el rango de una fila hipotética Identificada por los argumentos de la función con respecto a una especificación de Ordenación dada. Todos los argumentos de la función deben evaluarse a expresiones constantes dentro de cada grupo agregado, porque identifican una sola fila dentro de cada grupo. Las expresiones del argumento constante y las expresiones en la cláusula ORDER BY de la coincidencia agregada por posición., Por lo tanto, el número de argumentos debe ser el mismo y sus tipos deben ser compatibles.

  • como función analítica, RANK calcula el rango de cada fila devuelta de una consulta con respecto a las otras filas devueltas por la consulta, basándose en los valores de value_exprs En order_by_clause.,

Ejemplo agregado

el siguiente ejemplo calcula el rango de un empleado hipotético en la tabla de muestra hr.employees con un salario de 1 15,500 y una comisión del 5%:

SELECT RANK(15500, .05) WITHIN GROUP (ORDER BY salary, commission_pct) "Rank" FROM employees; Rank---------- 105

de manera similar, la siguiente consulta devuelve el rango por $15,500 salario entre los salarios de los empleados:

SELECT RANK(15500) WITHIN GROUP (ORDER BY salary DESC) "Rank of 15500" FROM employees;Rank of 15500-------------- 4

Ejemplo analítico

la siguiente declaración clasifica a los empleados en la muestra hr esquema en el departamento 80 en función de su salario y comisión., Los valores salariales idénticos reciben el mismo rango y causan rangos no consecutivos. Compare este ejemplo con el ejemplo de DENSE_RANK.

Leave A Comment