सकल कार्य सभी के बारे में हैं
- कई पंक्तियों पर गणना करना
- किसी तालिका के एकल स्तंभ का
- और एक ही मान लौटा रहे हैं।
आईएसओ मानक पांच (5) कुल कार्यों को परिभाषित करता है;
1) COUNT
3) एवीजी
4) मिन
5) मैक्स
कुल कार्यों का उपयोग क्यों करें।
व्यवसाय के दृष्टिकोण से, विभिन्न संगठन स्तरों में अलग-अलग सूचना आवश्यकताएं होती हैं। शीर्ष स्तर के प्रबंधक आमतौर पर पूरे आंकड़े जानने में रुचि रखते हैं और व्यक्तिगत विवरणों के लिए आवश्यक नहीं होते हैं।
> एग्रिगेट फ़ंक्शंस हमें आसानी से अपने डेटाबेस से सारांशित डेटा का उत्पादन करने की अनुमति देते हैं।
उदाहरण के लिए, हमारे myflix डेटाबेस से, प्रबंधन को निम्नलिखित रिपोर्टों की आवश्यकता हो सकती है
- कम से कम किराए की फिल्में।
- ज्यादातर किराए की फिल्में।
- औसत संख्या जो प्रत्येक फिल्म को एक महीने में किराए पर दी जाती है।
हम कुल कार्यों का उपयोग करके आसानी से उपरोक्त रिपोर्ट तैयार करते हैं।
आइए विस्तार से देखें।
COUNT समारोह
COUNT फ़ंक्शन निर्दिष्ट फ़ील्ड में मानों की कुल संख्या लौटाता है। यह संख्यात्मक और गैर-संख्यात्मक दोनों प्रकार के डेटा पर काम करता है। डिफ़ॉल्ट रूप से सभी कुल कार्य डेटा पर काम करने से पहले शून्य मानों को बाहर कर देते हैं।
COUNT (*) COUNT फ़ंक्शन का एक विशेष कार्यान्वयन है जो एक निर्दिष्ट तालिका में सभी पंक्तियों की गिनती लौटाता है। COUNT (*) नल और डुप्लिकेट को भी मानता है।
नीचे दी गई तालिका में मूवमेंट टेबल में डेटा दिखाया गया है
संदर्भ संख्या | लेन - देन की तारीख | वापसी दिनांक | सदस्यता संख्या | movie_id | फिल्म_ लौट आई |
---|---|---|---|---|---|
1 1 | 20-06-2012 | शून्य | 1 | 1 | ० |
१२ | 22-06-2012 | 25-06-2012 | 1 | २ | ० |
१३ | 22-06-2012 | 25-06-2012 | ३ | २ | ० |
१४ | 21-06-2012 | 24-06-2012 | २ | २ | ० |
१५ | 23-06-2012 | शून्य | ३ | ३ | ० |
मान लेते हैं कि हम कई बार आईडी 2 वाली फिल्म को किराए पर लेना चाहते हैं
SELECT COUNT(`movie_id`) FROM `movierentals` WHERE `movie_id` = 2;
MySQL के कार्यक्षेत्र में उपरोक्त क्वेरी को Myflixdb के विरुद्ध निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।
COUNT('movie_id') |
---|
3 |
DISTINCT कीवर्ड
DISTINCT कीवर्ड जो हमें हमारे परिणामों से डुप्लिकेट को छोड़ने की अनुमति देता है। यह समान मूल्यों को एक साथ समूहित करके हासिल किया जाता है।
डिस्टिक्ट की अवधारणा की सराहना करने के लिए, एक सरल क्वेरी निष्पादित करें
SELECT `movie_id` FROM `movierentals`;
movie_id |
---|
1 |
2 |
2 |
2 |
3 |
अब उसी क्वेरी को अलग कीवर्ड के साथ निष्पादित करते हैं -
SELECT DISTINCT `movie_id` FROM `movierentals`;
जैसा कि नीचे दिखाया गया है, विशिष्ट परिणामों से डुप्लिकेट रिकॉर्ड को छोड़ देता है।
movie_id |
---|
1 |
2 |
3 |
MIN फ़ंक्शन
MIN फ़ंक्शन निर्दिष्ट तालिका फ़ील्ड में सबसे छोटा मान लौटाता है ।
एक उदाहरण के रूप में, मान लें कि हम उस वर्ष को जानना चाहते हैं जिसमें हमारी लाइब्रेरी में सबसे पुरानी फिल्म रिलीज़ हुई थी, हम वांछित जानकारी प्राप्त करने के लिए MySQL के MIN फ़ंक्शन का उपयोग कर सकते हैं।
निम्नलिखित क्वेरी हमें वह हासिल करने में मदद करती है
SELECT MIN(`year_released`) FROM `movies`;
MySQL के कार्यक्षेत्र में उपरोक्त क्वेरी को Myflixdb के विरुद्ध निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।
MIN('year_released') |
---|
2005 |
अधिकतम समारोह
जैसा कि नाम से ही पता चलता है, MAX फ़ंक्शन MIN फ़ंक्शन के विपरीत है। यह निर्दिष्ट तालिका फ़ील्ड से सबसे बड़ा मान लौटाता है ।
मान लेते हैं कि हम उस वर्ष को प्राप्त करना चाहते हैं जो हमारे डेटाबेस में नवीनतम फिल्म रिलीज हुई थी। हम इसे प्राप्त करने के लिए आसानी से MAX फ़ंक्शन का उपयोग कर सकते हैं।
निम्न उदाहरण रिलीज़ की गई नवीनतम मूवी वर्ष देता है।
SELECT MAX(`year_released`) FROM `movies`;
MySQL कार्यक्षेत्र में उपरोक्त क्वेरी को Myflixdb का उपयोग करने से हमें निम्नलिखित परिणाम मिलते हैं।
MAX('year_released') |
---|
2012 |
SUM फ़ंक्शन
मान लीजिए हम एक रिपोर्ट चाहते हैं जो अब तक किए गए भुगतानों की कुल राशि देती है। हम MySQL SUM फ़ंक्शन का उपयोग कर सकते हैं जो निर्दिष्ट कॉलम में सभी मानों का योग देता है । SUM केवल संख्यात्मक क्षेत्रों पर काम करता है । रिक्त मानों को लौटाए गए परिणाम से बाहर रखा गया है।
निम्न तालिका भुगतान तालिका में डेटा दिखाती है-
भुगतान_ आईडी | सदस्यता संख्या | भुगतान तिथि | विवरण | भुगतान की गई राशि | बाहरी_ संदर्भ _number |
---|---|---|---|---|---|
1 | 1 | 23-07-2012 | मूवी किराये का भुगतान | 2500 है | 1 1 |
२ | 1 | २५-०-201-२०१२ | मूवी किराये का भुगतान | 2000 | १२ |
३ | ३ | 30-07-2012 | मूवी किराये का भुगतान | 6000 है | शून्य |
नीचे दी गई क्वेरी को सभी भुगतान किए गए मिलते हैं और उन्हें एक परिणाम वापस करने के लिए रकम देता है।
SELECT SUM(`amount_paid`) FROM `payments`;
MySQL कार्यक्षेत्र में उपरोक्त क्वेरी को Myflixdb के विरुद्ध निष्पादित करने से निम्न परिणाम मिलते हैं।
SUM('amount_paid') |
---|
10500 |
AVG फ़ंक्शन
MySQL AVG फ़ंक्शन एक निर्दिष्ट कॉलम में मानों का औसत लौटाता है । SUM फ़ंक्शन की तरह, यह केवल संख्यात्मक डेटा प्रकारों पर काम करता है ।
मान लीजिए कि हम भुगतान की गई औसत राशि खोजना चाहते हैं। हम निम्नलिखित प्रश्न का उपयोग कर सकते हैं -
SELECT AVG(`amount_paid`) FROM `payments`;
MySQL कार्यक्षेत्र में उपरोक्त क्वेरी को निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।
AVG('amount_paid') |
---|
3500 |
सारांश
- MySQL सभी पाँच (5) ISO मानक समुच्चय कार्यों COUNT, SUM, AVG, MIN और MAX का समर्थन करता है।
- SUM और AVG फ़ंक्शन केवल संख्यात्मक डेटा पर काम करते हैं।
- यदि आप कुल फ़ंक्शन परिणामों से डुप्लिकेट मानों को बाहर करना चाहते हैं, तो DISTINCT कीवर्ड का उपयोग करें। सभी कीवर्ड में डुप्लिकेट भी शामिल हैं। यदि कुछ भी निर्दिष्ट नहीं है तो सभी को डिफ़ॉल्ट माना जाता है।
- एग्रीगेट फ़ंक्शंस का उपयोग अन्य SQL क्लॉस जैसे ग्रुप BY के साथ संयोजन में किया जा सकता है
पहेली
आपको लगता है कि कुल कार्य आसान हैं। ये कोशिश करें!
निम्न उदाहरण समूह के सदस्यों के नाम से, भुगतान की कुल संख्या, औसत भुगतान राशि और भुगतान राशि का भव्य कुल गिना जाता है।
SELECT m.`full_names`,COUNT(p.`payment_id`) AS `paymentscount`,AVG(p.`amount_paid`) AS `averagepaymentamount`,SUM(p.`amount_paid`) AS `totalpayments` FROM members m, payments p WHERE m.`membership_number` = p.`membership_number` GROUP BY m.`full_names`;
MySQL कार्यक्षेत्र में उपरोक्त उदाहरण को निष्पादित करने से हमें निम्नलिखित परिणाम मिलते हैं।