# Oracle (9.2): Median aus einer Menge von Werten



## planb2000 (17. November 2008)

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:

```
SELECT PERCENTILE_CONT(0.5)  within group (ORDER BY a_var) FROM t_median
```
Median berechnen für alle Werte partitioniert über Gruppen:

```
-- 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


```
select median(meine_werte_spalte), das_land from meine_tabelle
```

Ich hoffe es kann mal jemand helfen und auch gebrauchen.

Viele Grüße


----------

