Articles

RANG (Română)

Posted by admin

Agregate Sintaxa

rank_aggregate::=

Descrierea ilustrației rank_aggregate.gif

Analitice Sintaxa

rank_analytic::=

Descrierea ilustrației rank_analytic.gif

Vezi și:

„Funcții analitice”pentru informații despre sintaxă, semantică și restricții

scop

RANK calculează rangul unei valori într-un grup de valori. Tipul de retur este NUMBER.,

Vezi și:

tabelul 2-10, „matricea de conversie de tip Implicit” pentru mai multe informații despre conversia implicită și „precedența numerică” pentru informații despre precedența numerică

rândurile cu valori egale pentru criteriile de clasificare primesc același rang. Oracle Database adaugă apoi numărul de rânduri legate la rangul legat pentru a calcula următorul rang. Prin urmare, rândurile nu pot fi numere consecutive. Această funcție este utilă pentru raportarea top-N și bottom-N.,

  • ca o funcție agregată, RANK calculează rangul unui rând ipotetic identificat prin argumentele funcției cu privire la o specificație de sortare dată. Argumentele funcției trebuie să evalueze toate expresiile constante din fiecare grup agregat, deoarece identifică un singur rând în fiecare grup. Constanta argument expresii și expresii în ORDER BY clauza de agregate meci de poziție., Prin urmare, numărul de argumente trebuie să fie același, iar tipurile acestora trebuie să fie compatibile.

  • Ca o analitică a funcției, RANK calculeaza rangul de fiecare rand returnat de o interogare cu privire la alte rânduri returnate de interogare, bazat pe valorile value_exprs în order_by_clause.,

Agregate Exemplu

exemplul următor calculează rangul unui ipotetic salariat cuprins în eșantion tabel hr.employees cu un salariu de 15.500 de dolari și un comision de 5%:

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

în mod Similar, următoarea interogare returnează rangul pentru o 15.500 de dolari salariu între salariile angajaților:

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

Analitice Exemplu

următoarea declarație rândurile salariaților din eșantion hr schema din departamentul 80 bazează pe salariu și comision., Valorile salariale identice primesc același rang și provoacă ranguri neconsecutive. Comparați acest exemplu cu exemplul pentru DENSE_RANK.

Leave A Comment