Database
[{country:"USA",state:"New York",population:161,cases:1.03},{country:"USA",state:"California",population:95,cases:4.47},{country:"Germany",state:"Berlin",population:4.227,cases:0.19},{country:"India",state:"Kerala",population:859,cases:4.09},{country:"India",state:"Karnataka",population:319,cases:2.95},{country:"India",state:"Maharashtra",population:370,cases:6.47}]
Query
db.collection.aggregate([{"$sort":{"cases":-1}},{$group:{_id:"$country",num_states:{$sum:1},states:{$push:{state:"$state",cases:"$cases",PPD:"$population"}}}},{"$sort":{"num_states":-1}},{$project:{country:"$_id",num_states:1,states:1,_id:0}}])