MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Berechnen Sie den Median im MongoDB-Aggregationsframework

Der Median ist im allgemeinen Fall etwas schwierig zu berechnen, da er das Sortieren des gesamten Datensatzes oder die Verwendung einer Rekursion mit einer Tiefe erfordert, die ebenfalls proportional zur Größe des Datensatzes ist. Das ist vielleicht der Grund, warum viele Datenbanken keinen Median-Operator haben (MySQL hat auch keinen).

Der einfachste Weg, den Median zu berechnen, wäre mit diesen beiden Anweisungen (vorausgesetzt, das Attribut, für das wir den Median berechnen möchten, heißt a und wir wollen es über alle Dokumente in der Sammlung, coll ):

count = db.coll.count();
db.coll.find().sort( {"a":1} ).skip(count / 2 - 1).limit(1);

Dies ist das Äquivalent zu dem, was Leute für MySQL vorschlagen.