mongoDB进行分组操作

一、$group 进行分组

1、每个职位的雇员人数:

db.getCollection('emp').aggregate(

   [

     {'$group':{

           ‘_id’:'$job',

           job_count:{'$sum':1}

    }

         }

   ]

)

2、每个职位的总工资

db.getCollection('emp').aggregate(

   [

     {'$group':{

           ‘_id’:'$job',

           job_salaryt:{'$sum':'$salary'}

    }

         }

   ]

)

3、每个职位的平均工资

db.getCollection('emp').aggregate(

   [

        {'$group':{

                  ‘_id’:'$job',

                  job_salaryt:{'$sum':'$salary'},

                  job_salary_avg:{'$avg':'$salary'}

                   }

             }

   ]

)

4、每种职位的最高与最低工资

db.getCollection('emp').aggregate(

   [

        {'$group':{

                  ‘_id’:'$job',

                 max_salaryt:{'$max':'$salary'},

                  min_salary:{'$min':'$salary'}

                   }

             }

   ]

)

5、每个职位的工资

db.getCollection('emp').aggregate(

    [

       {

         ‘$group’:{

                 '_id':'$job',

               'salary_data':{'$push':'$salary'}

         }

       }

   ]

)

6、每个职位的人员

db.getCollection('emp').aggregate(

    [

       {

         ‘$group’:{

                 '_id':'$job',

               'position_name':{'$addToSet':'$name'}  //addToSet,如果有重复的人名,保留一个

         }

       }

   ]

)

猜你喜欢

转载自www.cnblogs.com/qiyc/p/9053909.html