Oracle (9.2): Median aus einer Menge von Werten

planb2000

Erfahrenes Mitglied
Hallo,
heute fehlte uns die Möglichkeit den Median in Oracle 9.2 i, 10g hat diese Funktion, zu berechnen, daher folgende Formel die geholfen hat. da hier nichts zu dem Thema stand füge ich es ein.

-- Es gibt eine Tabelle mit 10 000 Einträgen
-- Die Tabelle enthällt 2 Spalten a_var und a_part. a_var sind die Werte und a_part -- die Gruppen.
Median berechnen für alle Werte:
SQL:
SELECT PERCENTILE_CONT(0.5)  within group (ORDER BY a_var) FROM t_median
Median berechnen für alle Werte partitioniert über Gruppen:
SQL:
-- 1. Möglichkeit

SELECT a_part, PERCENTILE_CONT(0.5) WITHIN GROUP  (ORDER BY a_var) FROM t_median
GROUP BY a_part

-- 2. Möglichkeit

SELECT a_part,
          PERCENTILE_CONT(0.5)
          WITHIN GROUP (ORDER BY a_var DESC)
          OVER (PARTITION BY a_part) 
FROM t_median

Mehr zu PERCENTILE_CONT: http://www.psoug.org/reference/number_func.html

Hat jemand eine Idee wie man daraus nun eine Funktion bauen kann die in etwas sowas erlaubt wie

SQL:
select median(meine_werte_spalte), das_land from meine_tabelle

Ich hoffe es kann mal jemand helfen und auch gebrauchen.

Viele Grüße
 
Zuletzt bearbeitet von einem Moderator:
Zurück