db.T_ZhengCheData.aggregate([
{$match: {"AccumulativeMileage":{$gt:0,$lte:1000000},"ZhengCheUpdateTime":{$gte:ISODate("2020-10-01T00:00:00.000+08:00"),$lte:ISODate("2020-12-31T23:59:59.000+08:00") }}},
{$project : {Vin:"$Vin", AccumulativeMileage:"$AccumulativeMileage", ZhengCheUpdateTime : "$ZhengCheUpdateTime",MonthDay:{$substr: ["$ZhengCheUpdateTime", 0, 7] }}},
{$group: { _id :{Vin:"$Vin",MonthDay:"$MonthDay"} ,
MinTime:{$min:"$ZhengCheUpdateTime"},
MaxTime:{$max:"$ZhengCheUpdateTime"},
MinMileage : {$min : "$AccumulativeMileage" },
MaxMileage:{$max:"$AccumulativeMileage"},
TotalMileage:{$sum:"$AccumulativeMileage"},
TotalCount:{$sum:1}}}
])
过了条件natch
多字段 Vin,MonthDay 进行分组
求和用sum
求条数用$sum:1