MongoDB 相当于 SQL COUNT GROUP BY

Posted

技术标签:

【中文标题】MongoDB 相当于 SQL COUNT GROUP BY【英文标题】:MongoDB equivalent of SQL COUNT GROUP BY 【发布时间】:2014-12-16 16:37:48 【问题描述】:

一直在阅读 mongodb 聚合和组文档,但我仍然不清楚。

考虑带有文档的集合:

一:1, 乙:0

一:1, 乙:1

a2, 乙:2

一个:3, 乙:3

我想计算 a 的每个值的文档数并按计数排序。

在关系样式中,它看起来像这样:

SELECT COUNT(distinct b) AS total 来自 example_table 按一个分组 按总 DESC 排序;

关于如何在 mongo 中执行此操作的任何建议?

【问题讨论】:

【参考方案1】:

您首先在_id:"$a" 上使用$group$sum:1(这基本上是您对不同a 的计数),然后在总和上使用sort

【讨论】:

db.so.aggregate([ $group : _id :'$a', count: $sum: 1 ],$sort:count: -1 )

以上是关于MongoDB 相当于 SQL COUNT GROUP BY的主要内容,如果未能解决你的问题,请参考以下文章

如何将其转换为 mongodb 聚合查询?

[MongoDB]count,gourp,distinct

sql 语句中的DISTINCT以及在count中的使用

sql到mongodb的翻译

如何将此 sql 查询转换为 mongodb?

MongoDB 功能类似于 SQL 中受影响的行?