Mediana jest nieco trudna do obliczenia w ogólnym przypadku, ponieważ obejmuje sortowanie całego zestawu danych lub użycie rekursji z głębokością, która jest również proporcjonalna do rozmiaru zestawu danych. To może być powód, dla którego wiele baz danych nie ma gotowego operatora mediany (MySQL też go nie ma).
Najprostszym sposobem obliczenia mediany byłoby użycie tych dwóch instrukcji (zakładając, że atrybut, dla którego chcemy obliczyć medianę, nazywa się a
i chcemy go nad wszystkimi dokumentami w kolekcji, coll
):
count = db.coll.count();
db.coll.find().sort( {"a":1} ).skip(count / 2 - 1).limit(1);
Jest to odpowiednik tego, co ludzie sugerują dla MySQL.