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

MySQL में अलग-अलग ग्रंथों की कई घटनाओं की गणना करें?

<घंटा/>

आप इसके लिए if() के साथ एग्रीगेट फंक्शन काउंट का इस्तेमाल कर सकते हैं। अवधारणा को समझने के लिए, आइए एक तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> टेबल बनाएं CountOccurrencesDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> TechnicalSubject varchar(100) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.68 सेकंड)

अब आप इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डाल सकते हैं। क्वेरी इस प्रकार है

mysql> CountOccurrencesDemo(TechnicalSubject) मान ('Java') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> CountOccurrencesDemo (तकनीकी विषय) मान ('MongoDB') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.13 sec)mysql> CountOccurrencesDemo (तकनीकी विषय) मान ('MySQL') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> CountOccurrencesDemo (तकनीकी विषय) मान ('MySQL') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित है ( 0.10 सेकंड)mysql> काउंट ऑक्यूरेन्स डेमो (तकनीकी विषय) मान ('MySQL') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> काउंट ऑक्यूरेंस में डालें डेमो (तकनीकी विषय) मान ('जावा'); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.15 सेकंड)mysql> काउंट ऑक्यूरेन्स डेमो (तकनीकी विषय) मान ('जावा') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> काउंट ऑक्यूरेंस में डालें डेमो (तकनीकी विषय) मान ('जावा'); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.09 सेकंड) mysql> CountOccurrencesDemo (तकनीकी विषय) मान ('जावा') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> int डालें o CountOccurrencesDemo(TechnicalSubject) मान('MongoDB');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है

mysql> CountOccurrencesDemo से *चुनें;

निम्न आउटपुट है

<पूर्व>+----+----------------------+| आईडी | तकनीकी विषय |+----+---------------------+| 1 | जावा || 2 | मोंगोडीबी || 3 | मायएसक्यूएल || 4 | मायएसक्यूएल || 5 | मायएसक्यूएल || 6 | जावा || 7 | जावा || 8 | जावा || 9 | जावा || 10 | MongoDB |+----+---------------------+10 पंक्तियाँ सेट में (0.00 सेकंड)

MySQL में टेक्स्ट की एक से अधिक बारंबारता गिनने के लिए क्वेरी निम्न है

mysql> काउंट चुनें (अगर (tbl.TechnicalSubject LIKE '%Java%',1,null)) JavaOccurrence के रूप में -> काउंट (if(tbl.TechnicalSubject LIKE '%MySQL%',1,null)) as MySQLOccurrence, -> count(if(tbl.TechnicalSubject LIKE '%MongoDB%',1,null)) MongoDBoccurrence के रूप में -> CountOccurrencesDemo tbl;

निम्न आउटपुट है

<पूर्व>+----------------+---------------------+---------- --------+| JavaOccurrence | माईएसक्यूएलओकरेंस | MongoDBoccurrence | --------+| 5 | 3 | 2 |+----------------+---------------------+---------- --------+1 पंक्ति सेट में (0.05 सेकंड)
  1. एकल MySQL क्वेरी में अलग-अलग तालिकाओं से NULL मानों की गणना न करें

    अलग-अलग तालिकाओं से मानों की गणना करने के लिए, वाक्य रचना इस प्रकार है - किसी भी AliasName1 के रूप में चुनें (अपनेTableName1 से गिनती (yourColumnName) का चयन करें, (अपनेTableName2 से गिनती(yourColumnName)) को किसी भीAliasName2 के रूप में चुनें;) आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प

  1. MySQL में एकाधिक तालिकाओं से गणना (*) पंक्तियां?

    MySQL में एकाधिक तालिकाओं से पंक्तियों की गणना करने के लिए, सिंटैक्स इस प्रकार है - किसी भी AliasName1 के रूप में (अपनेTableName1 से गिनती(*) का चयन करें, (अपनेTableName2 से गिनती(*) का चयन करें) को दोहरे से किसी भी AliasName2 के रूप में चुनें; आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्

  1. विशिष्ट स्तंभ मानों के लिए एकल MySQL क्वेरी में एकाधिक गणना प्राप्त करें

    इसके लिए, आप विशिष्ट कॉलम के लिए पैरामीटर मान के साथ कुल फ़ंक्शन योग () का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1790 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Score int);क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.94 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल मे