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

एकाधिक फ़ील्ड वाले समूह और MongoDB में एक साथ समूहीकृत डुप्लिकेट फ़ील्ड मानों की संख्या प्राप्त करें

<घंटा/>

इसके लिए MongoDB समुच्चय का उपयोग करें और उसके भीतर $cond का उपयोग करें। $cond दो निर्दिष्ट रिटर्न अभिव्यक्तियों में से एक को वापस करने के लिए एक बूलियन अभिव्यक्ति का मूल्यांकन करता है।

आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

> db.demo536.insertOne({"Name1":"Chris","Name2":"David"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8c843eef4dcbee04fbbc01")
}
> db.demo536.insertOne({"Name1":"David","Name2":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc02")
}
> db.demo536.insertOne({"Name1":"Bob","Name2":"Sam"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc03")
}
> db.demo536.insertOne({"Name1":"Chris","Name2":"David"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8c843fef4dcbee04fbbc04")
}

संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -

> db.demo536.find();

यह निम्नलिखित आउटपुट देगा -

{ "_id" : ObjectId("5e8c843eef4dcbee04fbbc01"), "Name1" : "Chris", "Name2" : "David" }
{ "_id" : ObjectId("5e8c843fef4dcbee04fbbc02"), "Name1" : "David", "Name2" : "Chris" }
{ "_id" : ObjectId("5e8c843fef4dcbee04fbbc03"), "Name1" : "Bob", "Name2" : "Sam" }
{ "_id" : ObjectId("5e8c843fef4dcbee04fbbc04"), "Name1" : "Chris", "Name2" : "David" }

एकाधिक फ़ील्ड वाले समूह के लिए क्वेरी निम्नलिखित है -

> db.demo536.aggregate([
... {
...    $project:
...    {
...       FirstName1:
...       {
...          $cond: { if: { $gte: [ "$Name1", "$Name2" ] }, then: "$Name2", else: "$Name1" }
...       },
...       FirstName2:
...       {
...          $cond: { if: { $lt: [ "$Name1", "$Name2" ] }, then: "$Name2", else: "$Name1" }
...       }
...    }
... }
... ,{
...    $group:
...    {
...       _id:
...       {
...          Name1: "$FirstName1",
...          Name2: "$FirstName2"
...       }
...       ,count: { $sum: 1}
...    }
... }
... ])

यह निम्न आउटपुट &imnus;

का उत्पादन करेगा
{ "_id" : { "Name1" : "Bob", "Name2" : "Sam" }, "count" : 1 }
{ "_id" : { "Name1" : "Chris", "Name2" : "David" }, "count" : 3 }

  1. MySQL के साथ एक अलग कॉलम में अलग-अलग मानों की अधिकतम संख्या प्राप्त करें

    इसके लिए GROUP BY क्लॉज के साथ COUNT() फ़ंक्शन का उपयोग करें। आइए पहले एक टेबल बनाएं - );query OK, 0 Rows प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (कैरोल); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) चयन कथन का उपयोग करके तालिका से

  1. क्या मैं MySQL के साथ कॉलम में दोहराए गए मानों की गिनती प्राप्त कर सकता हूं?

    हां, आप ORDER BY DESC का उपयोग GROUP BY के साथ कर सकते हैं। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (पोस्टमैसेज) मान (विस्मयकारी) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.33 सेकंड) चयन कथन का

  1. दिनांक के अनुसार समूह परिणामों के लिए MySQL क्वेरी और डुप्लिकेट मानों की संख्या प्रदर्शित करें?

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.85 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1496(PassengerCode,ArrivalDate) मान (202,2013-03-18 04:10:01) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिक