आप एक ही क्वेरी में दो अलग-अलग कॉलम गिनने के लिए CASE स्टेटमेंट का उपयोग कर सकते हैं। अवधारणा को समझने के लिए, आइए पहले एक तालिका बनाएं। तालिका बनाने की क्वेरी इस प्रकार है।
mysql> टेबल बनाएं CountDifferentDemo -> ( -> ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ProductName varchar(20), -> ProductColor varchar(20), -> ProductDescription varchar(20) -> );Query OK , 0 पंक्तियाँ प्रभावित हुई (1.06 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें।
क्वेरी इस प्रकार है
mysql> CountDifferentDemo(ProductName,ProductColor,ProductDescription) मानों('Product-1','Red','Used') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.46 सेकंड) mysql> CountDifferentDemo(ProductName, उत्पाद रंग, उत्पाद विवरण) मान ('उत्पाद -1', 'नीला', 'प्रयुक्त'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> CountDifferentDemo में डालें (उत्पाद नाम, उत्पाद रंग, उत्पाद विवरण) मान ('उत्पाद -2') , 'ग्रीन', 'नया'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> काउंटडिफरेंटडेमो (उत्पाद नाम, उत्पाद रंग, उत्पाद विवरण) मान ('उत्पाद -2', 'नीला', 'नया') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> CountDifferentDemo (उत्पाद नाम, उत्पाद रंग, उत्पाद विवरण) मान ('उत्पाद -3', 'हरा', 'नया') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) mysql> CountDifferentDemo(ProductName,ProductColor,ProductDescription) मान ('उत्पाद -4', 'नीला', 'प्रयुक्त') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें।
क्वेरी इस प्रकार है
mysql> CountDifferentDemo से *चुनें;
निम्न आउटपुट है
<पूर्व>+-----------+---------------+--------------+----- ---------------+| उत्पाद आईडी | उत्पाद का नाम | उत्पाद रंग | उत्पाद विवरण |+-----------+----------------+--------------+------ --------------+| 1 | उत्पाद-1 | लाल | प्रयुक्त || 2 | उत्पाद-1 | नीला | प्रयुक्त || 3 | उत्पाद-2 | हरा | नया || 4 | उत्पाद-2 | नीला | नया || 5 | उत्पाद-3 | हरा | नया || 6 | उत्पाद-4 | नीला | प्रयुक्त |+-----------+------------- --------------+6 पंक्तियाँ सेट में (0.01 सेकंड)यहां एक ही क्वेरी में दो अलग-अलग कॉलम गिनने की क्वेरी दी गई है यानी हम एक विशेष रंग "लाल" और विवरण "नया" की घटना की गणना कर रहे हैं
mysql> ProductName चुनें, -> SUM (केस जब ProductColor ='Red' तब 1 ELSE 0 END) कलर के रूप में, -> SUM (केस जब ProductDescription ='New' तब 1 ELSE 0 END) as Desciption -> from CountDifferentDemo -> ProductName द्वारा समूह;
निम्न आउटपुट है
<पूर्व>+---------------+----------+---------------+| उत्पाद का नाम | रंग | उतर |+---------------+----------+---------------+| उत्पाद-1 | 1 | 0 || उत्पाद-2 | 0 | 2 || उत्पाद-3 | 0 | 1 || उत्पाद-4 | 0 | 0 |+---------------+----------+---------------+4 पंक्तियों में सेट (0.12 सेकंड)