我在 Redash 上使用 MongoDB 来轻松创建和分析报告、图表等。我创建了一个图表,描述了过去 12 个月的交易,按月分组。但现在我还需要按网关对每个月内的这些交易进行分组。我目前正在使用 $project 后跟 $group 阶段,例如:
{
"$project": {
"nominal": {
"$divide": [
"$amount",
100
]
},
"month": {
"$month": "$created_at"
}
},
{
"$group": {
"_id": "$month",
"total": {
"$sum": "$nominal"
}
}
}
结果表是一个非常简单的月值关系。我需要的是一种通过网关分隔每个月内的数量的方法,类似于排序的 SQL 行:
SELECT [...], sum(amount OVER (PARTITION BY gateway) FROM [...] GROUP BY month, gateway ORDER BY total, month, gateway