聚合_group的用法

1. 求出每个职位的雇员人数
db.emps.aggregate([{"$group":{"_id":"$job","job_count":{"$sum":1}}}])
2. 求出每个职位的总工资
db.emps.aggregate([{"$group":{"_id":"$job","job_sal":{"$sum":"$salary"}}}])
3. 求出每个职位的平均工资
db.emps.aggregate([{"$group":{
"_id":"$job",
"job_sal":{"$sum":"$salary"},
"job_avg":{"$avg":"$salary"}
}
}])
4. 求出最高和最低工资
db.emps.aggregate([{"$group":{
	"_id":"$job",
	"max_sal":{"$max":"$salary"},
	"min_avg":{"$min":"$salary"}
}}])
5. 求出每个职位的工资数据(数组显示)
db.emps.aggregate([{"$group":{
	"_id":"$job",
	"sal":{"$push":"$salary"}
}
}])
6. 求出每个职位的职员的工资数据(数组显示)
db.emps.aggregate([{"$group":{
	"_id":"$job",
	"name":{"$addToset":"$name"}
}
}])
7. 求出每个职位的职员的的名字($addToset去重统计)
db.emps.aggregate([{"$group":{
    "_id":"$job",
    "name":{"$addToSet":"$name"}
}
}])
8. 求出每个职位的职员的名字(保留第一个)
db.emps.aggregate([{"$group":{
	"_id":"$job",
	"sal":{"$first":"$name"}
}}])
9. 求出每个职位的职员的名字(保留最后一个)
db.emps.aggregate([{"$group":{
	"_id":"$job",
	"sal":{"$last":"$name"}
}}])
发布了298 篇原创文章 · 获赞 153 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43192537/article/details/103792759