Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में SELECT COUNT GROUP BY कैसे करें

MongoDB में SQL के SELECT COUNT GROUP BY के समकक्ष कार्यक्षमता के लिए एग्रीगेशन फ्रेमवर्क का उपयोग करें।

उदाहरण से समझें

एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं:

> db.countGroupByDemo.insertOne({"StudentId": 10, "StudentName": "John"});
> db.countGroupByDemo.insertOne({"StudentId": 10, "StudentName": "Carol"});
> db.countGroupByDemo.insertOne({"StudentId": 20, "StudentName": "Sam"});
> db.countGroupByDemo.insertOne({"StudentId": 30, "StudentName": "Mike"});
> db.countGroupByDemo.insertOne({"StudentId": 30, "StudentName": "David"});
> db.countGroupByDemo.insertOne({"StudentId": 10, "StudentName": "Maxwell"});
> db.countGroupByDemo.insertOne({"StudentId": 20, "StudentName": "Bob"});

सभी डॉक्यूमेंट देखने के लिए:

> db.countGroupByDemo.find().pretty();

आउटपुट:

{ "_id": ..., "StudentId": 10, "StudentName": "John" }
{ "_id": ..., "StudentId": 10, "StudentName": "Carol" }
{ "_id": ..., "StudentId": 20, "StudentName": "Sam" }
{ "_id": ..., "StudentId": 30, "StudentName": "Mike" }
{ "_id": ..., "StudentId": 30, "StudentName": "David" }
{ "_id": ..., "StudentId": 10, "StudentName": "Maxwell" }
{ "_id": ..., "StudentId": 20, "StudentName": "Bob" }

अब StudentId के आधार पर ग्रुप करके काउंट करने के लिए एग्रीगेशन क्वेरी:

> db.countGroupByDemo.aggregate([{$group: {_id: "$StudentId", counter: {$sum: 1}}}]);

आउटपुट:

{ "_id": 30, "counter": 2 }
{ "_id": 20, "counter": 2 }
{ "_id": 10, "counter": 3 }

यहां $group स्टेज StudentId के आधार पर ग्रुप बनाता है और $sum: 1 प्रत्येक ग्रुप के डॉक्यूमेंट गिनता है।

  1. - MongoDB Aggregate एकाधिक परिणाम ग्रुप करें?

    एकाधिक परिणाम एग्रीगेट करने के लिए MongoDB में $group का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo765.insertOne( { Name:John, Category:ComputerScience, SubjectName:MongoDB, Marks:75 } ); { acknowledged : true, insertedId : ObjectId(5eb054525637cd592b2a4b01) } > db.demo765.insertOne( { N

  1. - MySQL में SELECT DISTINCT बनाम GROUP BY

    SELECT DISTINCT डुप्लीकेट हटाकर यूनिक वैल्यू देता है। सिंगल कॉलम पर एग्रीगेट के साथ भी उपयोगी। SELECT DISTINCT name FROM DistinctDemo ORDER BY name; -- John, Bob, David GROUP BY एक या अधिक कॉलम द्वारा ग्रुपिंग, एग्रीगेट फंक्शन (SUM, AVG, COUNT) के साथ। SELECT address, COUNT(*) FROM GroupDemo1 GROUP

  1. - MySQL में मान के अनुसार COUNT - विशिष्ट मान की घटनाओं की गणना

    समाधान: COUNT() के साथ IF() किसी कॉलम में विशिष्ट मान की घटनाओं की गणना करने के लिए COUNT() के साथ IF() फ़ंक्शन का उपयोग करें। सिंटैक्स SELECT COUNT(IF(yourColumnName = specificValue, 1, NULL)) FROM yourTableName; व्यावहारिक उदाहरण टेबल बनाना और डेटा डालना (2016-04-12, 1, NULL); डेटा Ship