-5

У меня есть таблица, как UserData, который strucure какMongoDB запрос эквивалент следующего SQL запроса

id category value 
1 AR   100 
2 WT   90 
3 WT   12 
4 AR   1000 
5 AR   2005 
6 WT   122 
7 BP   112 
8 BP   18 

теперь я хочу, чтобы выбрать все строки, которые имеют максимальное значение в indiviual категории. поэтому мой результирующий набор должен быть.

id category value 
5 AR   2005  
6 WT   122  
7 BP   112 

Я хочу иметь это в запросе MongoDB.

It`s SQL эквивалент это один

 select id,category,value from 
     (select id, 
       category, 
       value, 
       max(value) 
     over (partition by category) result 
     from UserData) a 
     where a.result=a.value order by a.id 

Я хочу знать, что Как я могу производить тот же результат в запросе MongoDB

+0

Отъезд [ MongoDB .NET Drive Docs] (http://mongodb.github.io/mongo-csharp-driver/2.2/) – Andrew

+0

Поисковый запрос ["mongodb max value"] (https://www.google.com/search?q = mongodb + max + value & ie = utf-8) Все основные результаты релевантны. –

ответ

0

Использование агрегации

db.UserData.aggregate({$group:{_id:"$category", "maxValue":{$max:"$value"}}}); 
Смежные вопросы