===== Oracle Analytic Function - Beispiel 4 - Prozentsatz anzeigen ===== Mit der Funktion [[http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions142.htm#SQLRF00691|ratio_to_report()]] kann der Prozentuale Anteil der aktuellen Zeile an der Gesamtsumme ausgegeben werden. -- testdaten -- create table t as select * from all_objects / -- Abfragen -- select cnt , object_type , round((ratio_to_report( sum( cnt )) over())*100,3) as prozent from ( select count(*) cnt , object_type from t group by object_type ) group by cnt , object_type order by cnt desc / CNT OBJECT_TYPE PROZENT ------------ ------------------- ------------ 28803 SYNONYM 50,383 23048 JAVA CLASS 40,316 1934 VIEW 3,383 1545 TYPE 2,703 835 JAVA RESOURCE 1,461 401 PACKAGE ,701 241 FUNCTION ,422 144 TABLE ,252 Der Prozentsatz kann auch über eine "Gruppe" von Daten angezeigt werden mit der Option => **" ... OVER( PARTITION BY )**. Mehr Beispiele: [[prog:oracle_analytic_functions|Oracle Analytic Functions im praktischen Einsatz]]