sql >> Base de Datos >  >> NoSQL >> MongoDB

Calcule la mediana en el marco de agregación de MongoDB

La mediana es algo complicada de calcular en el caso general, porque implica clasificar todo el conjunto de datos o usar una recursividad con una profundidad que también es proporcional al tamaño del conjunto de datos. Esa es quizás la razón por la que muchas bases de datos no tienen un operador mediano listo para usar (MySQL tampoco lo tiene).

La forma más sencilla de calcular la mediana sería con estas dos declaraciones (asumiendo que el atributo en el que queremos calcular la mediana se llama a y lo queremos sobre todos los documentos de la colección, coll ):

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

Este es el equivalente a lo que la gente sugiere para MySQL.