Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:oracle_analytic_functions_prozent

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
prog:oracle_analytic_functions_prozent [2015/03/06 08:58] gpipperrprog:oracle_analytic_functions_prozent [2015/03/06 09:12] (aktuell) gpipperr
Zeile 1: Zeile 1:
 +===== 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.
 +
 +
 +<code sql>
 +
 +-- 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
 +
 +
 +</code>
 +
 +
 +Der Prozentsatz kann auch über eine "Gruppe" von Daten angezeigt werden mit der Option  => **" ... OVER( PARTITION BY <ergebniss_spalte> )**.
 +
 +
 +
 +Mehr Beispiele: [[prog:oracle_analytic_functions|Oracle Analytic Functions im praktischen Einsatz]]
prog/oracle_analytic_functions_prozent.txt · Zuletzt geändert: 2015/03/06 09:12 von gpipperr