【问题标题】:Mongodb query equivalent of the following SQL queryMongodb 查询等效于以下 SQL 查询
【发布时间】:2016-03-23 04:19:22
【问题描述】:

我有一个 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 查询中产生相同的结果

【问题讨论】:

标签: c# mongodb mongodb-.net-driver mongo-collection mongo-cxx-driver


【解决方案1】:

使用聚合

db.UserData.aggregate({$group:{_id:"$category", "maxValue":{$max:"$value"}}});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 2014-04-19
    • 2020-09-24
    • 2022-01-11
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多