-6

我有一个作为 UserData 的表,它的结构类似于

 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

现在我想选择在单个类别中具有最大值的所有行。所以我的结果集应该是。

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

我想在 MongoDB 查询中有这个。

它的 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 查询中产生相同的结果

4

1 回答 1

0

使用聚合

db.UserData.aggregate({$group:{_id:"$category", "maxValue":{$max:"$value"}}});
于 2016-03-23T07:43:00.753 回答