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

कॉलम के केवल भिन्न मानों के योग की गणना करने के लिए हम MySQL SUM () फ़ंक्शन का उपयोग कैसे कर सकते हैं?


कॉलम के केवल भिन्न मानों के योग की गणना के लिए हम कॉलम के नाम के साथ 'DISTINCT' कीवर्ड का उपयोग कर सकते हैं। भिन्न मानों के लिए एसयूएम () फ़ंक्शन को समझने के लिए, एक 'कर्मचारी_टीबीएल' तालिका पर विचार करें, जिसमें निम्नलिखित रिकॉर्ड हैं -

<पूर्व>mysql> चुनें * कर्मचारी_टीबीएल से;+----------+------+---------------+--------------- --------+| आईडी | नाम | work_date | Daily_typing_pages |+----------+------+---------------+-------------------------- +| 1 | जॉन | 2007-01-24 | 250 || 2 | राम | 2007-05-27 | 220 || 3 | जैक | 2007-05-06 | 170 || 3 | जैक | 2007-04-06 | 100 || 4 | जिल | 2007-04-06 | 220 || 5 | ज़ारा | 2007-06-06 | 300 || 5 | ज़ारा | 2007-02-06 | 350 |+------+------+---------------+---------------------- सेट में +7 पंक्तियाँ (0.00 सेकंड)

अब, मान लीजिए कि उपरोक्त तालिका के आधार पर आप भिन्न मान वाले सभी डायली_टाइपिंग_पेजों की कुल गणना करना चाहते हैं, तो आप निम्न कमांड का उपयोग करके ऐसा कर सकते हैं -

mysql> SUM चुनें (DISTINCT daily_typing_pages) -> कर्मचारी_tbl से;+--------------------------+| एसयूएम(दैनिक_टाइपिंग_पेज) |+--------------------------+| 1390 |+--------------------------+1 पंक्ति सेट में (0.00 सेकंड)

उपरोक्त परिणाम सेट से पता चलता है कि MySQL SUM () एक DISTINCT कीवर्ड के साथ, केवल भिन्न रिकॉर्ड के योग की गणना करता है यानी यह केवल एक बार के लिए '220' मान जोड़ता है।


  1. MySQL में एक कॉलम में मानों का योग करें?

    इसके लिए एग्रीगेट फंक्शन SUM() का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.71 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल (€) मानों में डालें(190);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रि

  1. मैं केवल 3 संभावित दिए गए मानों वाले कॉलम के साथ एक MySQL तालिका कैसे बना सकता हूं?

    इसके लिए ENUM डेटा टाइप का इस्तेमाल करें। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable838(Color ENUM(RED,GREEN,BLUE));क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.67 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - सम्मिलित करें DemoTable838 मानों में (नीला); क्वेरी ठीक है, 1 पंक्ति प्रभ

  1. क्या हम MySQL WHERE क्लॉज में SUM () फ़ंक्शन के परिणाम का उपयोग कर सकते हैं?

    हम MySQL में WHERE के बजाय HAVING क्लॉज का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable(Name varchar(50), Price int);query OK, 0 Rows प्रभावित (0.79 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (डेविड, 5); क्वेरी ठीक है, 1 पंक्ति प्रभ