RATIO_TO_REPORT to funkcja analityczna. Oblicza stosunek wartości do sumy zbioru wartości. Jeśli expr ma wartość NULL, wartość stosunku do raportu również jest równa null.

Zbiór wartości jest określony przez query_partition_clause.

Jeśli pominiesz tę klauzulę, stosunek do raportu zostanie obliczony dla wszystkich wierszy zwróconych przez zapytanie.

Przykład:

select nazwa, value, 
    round(ratio_to_report(value) over (),2) as rat 
        from (
            select 'kazik' as nazwa , 1 as value from dual
            union
            select 'magda', 2 from dual
            union 
            select 'jan', 3 from dual) t1

Wynik:


Informacje na ten temat znajdziesz również w dokumentacji pod TYM adresem.

Written by Przemysław Starosta