आप इसे GROUP BY HAVING क्लॉज की मदद से हासिल कर सकते हैं। वाक्य रचना इस प्रकार है -
अपना कॉलमनाम1 चुनें, एसयूएम(आपका कौमनाम2) अपने कॉलमनाम समूह से अपने कॉलमनाम1हैविंग COUNT(yourCoumnName2) =COUNT(*);
उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> तालिका बनाएं SumDemo -> ( -> Id int, -> Amount int -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.58 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> SumDemo मानों (1,200) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.22 सेकंड) mysql> SumDemo मानों में डालें (2,100); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> SumDemo मानों में डालें ( 2,NULL);क्वेरी ओके, 1 पंक्ति प्रभावित (0.14 सेकंड)mysql> SumDemo मानों (1,300) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> SumDemo मानों (2,100) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)mysql> SumDemo मानों में सम्मिलित करें(1,500);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> SumDemo से *चुनें;
आउटपुट
<पूर्व>+----------+----------+| आईडी | राशि |+----------+----------+| 1 | 200 || 2 | 100 || 2 | शून्य || 1 | 300 || 2 | 100 || 1 | 500 |+----------+----------+6 पंक्तियाँ सेट में (0.00 सेकंड)यहां योग प्राप्त करने की क्वेरी है यदि सभी पंक्तियां शून्य नहीं हैं और शून्य वापस आती हैं। क्वेरी इस प्रकार है -
mysql> Id चुनें, -> SUM(राशि) -> SumDemo से -> GROUP BY ID -> HAVING COUNT(Amount) =COUNT(*);
निम्नलिखित आउटपुट है। चूँकि id 2 NULL है, इसका कोई भी मान योग में नहीं जोड़ा जाएगा।
इसलिए, Id 1 के सभी मानों को जोड़ा जाएगा अर्थात 200 + 300 + 500 =1000 जैसा कि नीचे दिखाया गया है -
<पूर्व>+----------+---------------+| आईडी | एसयूएम(राशि) |+------+---------------+| 1 | 1000 |+------+---------------+1 पंक्ति में सेट (0.09 सेकंड)