-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 に答える