Articles

RANK

Posted by admin

Sintassi aggregata

rank_aggregate::=

Descrizione dell’illustrazione rank_aggregate.gif

Sintassi analitica

rank_analytic::=

Descrizione dell’illustrazione rank_analytic.gif

Vedi anche:

“Funzioni analitiche” per informazioni su sintassi, semantica e restrizioni

Scopo

RANK calcola il rango di un valore in un gruppo di valori. Il tipo restituito èNUMBER.,

Vedi anche:

Tabella 2-10, “Matrice di conversione di tipo implicito” per ulteriori informazioni sulla conversione implicita e “Precedenza numerica” per informazioni sulla precedenza numerica

Le righe con valori uguali per i criteri di classificazione ricevono lo stesso rango. Oracle Database aggiunge quindi il numero di righe legate al rango legato per calcolare il rango successivo. Pertanto, i ranghi potrebbero non essere numeri consecutivi. Questa funzione è utile per top – N e bottom-N reporting.,

  • Come funzione aggregata, RANK calcola il rango di una riga ipotetica identificata dagli argomenti della funzione rispetto a una determinata specifica di ordinamento. Gli argomenti della funzione devono essere valutati in espressioni costanti all’interno di ciascun gruppo aggregato, poiché identificano una singola riga all’interno di ciascun gruppo. Le espressioni degli argomenti costanti e le espressioni nella clausolaORDERBY della corrispondenza aggregata per posizione., Pertanto, il numero di argomenti deve essere lo stesso e i loro tipi devono essere compatibili.

  • Come funzione analitica, RANKcalcola il rango di ogni riga restituita da una query rispetto alle altre righe restituite dalla query, in base ai valori di value_exprsnel order_by_clause.,

Aggregazione di Esempio

L’esempio seguente calcola il rango di un dipendente nella tabella di esempio hr.employees con uno stipendio di $15,500 e una commissione del 5%:

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

allo stesso modo, la query seguente restituisce il rango di un $15,500 stipendio tra gli stipendi del dipendente:

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

Analitica Esempio

La seguente dichiarazione classifica i dipendenti nel campione hr schema nel reparto di 80 basato sul loro stipendio e della commissione., Valori salariali identici ricevono lo stesso rango e causano ranghi non consecutivi. Confronta questo esempio con l’esempio per DENSE_RANK.

Leave A Comment