मारियाडीबी में, AVG()
फ़ंक्शन दिए गए व्यंजक का औसत मान देता है।
DISTINCT
विकल्प का उपयोग अलग-अलग मानों के औसत को वापस करने के लिए किया जा सकता है (यानी औसत की गणना करने से पहले डुप्लीकेट हटा दें)।
NULL
मानों को नज़रअंदाज़ कर दिया जाता है।
नमूना डेटा
मान लीजिए हमारे पास निम्न डेटा वाली एक तालिका है:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
परिणाम:
+----------+---------------------------------+--------------+ | VendorId | ProductName | ProductPrice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | 33.49 | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
उदाहरण
सभी कीमतों का औसत प्राप्त करने के लिए हम निम्न क्वेरी का उपयोग कर सकते हैं।
SELECT AVG(ProductPrice)
FROM Products;
परिणाम:
52.898750
इस मामले में, कीमत की जानकारी ProductPrice
. में स्टोर की जाती है कॉलम, और इसलिए हमने इसे AVG()
. के तर्क के रूप में पारित किया फ़ंक्शन, जिसने तब औसत की गणना की और परिणाम वापस कर दिया।
फ़िल्टर किए गए परिणाम
AVG()
फ़ंक्शन क्वेरी द्वारा लौटाई गई पंक्तियों पर काम करता है। इसलिए यदि आप परिणामों को फ़िल्टर करते हैं, तो AVG()
. का परिणाम प्रतिबिंबित करेंगे।
SELECT AVG(ProductPrice)
FROM Products
WHERE VendorId = 1001;
परिणाम:
19.680000
इस मामले में, निर्दिष्ट विक्रेता द्वारा पेश किए गए सभी उत्पादों की औसत कीमत 19.680000 है।
DISTINCT
कीवर्ड
आप DISTINCT
. का उपयोग कर सकते हैं AVG()
with के साथ कीवर्ड केवल अलग-अलग मानों की गणना करने के लिए। अर्थात्, यदि कोई डुप्लिकेट मान हैं, तो उन्हें एक मान के रूप में माना जाता है।
उदाहरण:
SELECT
AVG(ProductPrice) AS "All",
AVG(DISTINCT ProductPrice) AS "Distinct"
FROM Products;
परिणाम:
+-----------+-----------+ | All | Distinct | +-----------+-----------+ | 52.898750 | 56.742857 | +-----------+-----------+
इस मामले में, दो आइटम समान मूल्य साझा करते हैं (बाएं हाथ के स्क्रूड्राइवर और दाएं हाथ के स्क्रूड्राइवर दोनों की कीमत 25.99 है)। इसलिए, AVG()
फ़ंक्शन, जब DISTINCT
. के साथ प्रयोग किया जाता है कीवर्ड, उन दोनों मानों को एक मानता है, और उसके अनुसार उसके परिणाम की गणना करता है।
विंडो फ़ंक्शन
AVG()
फ़ंक्शन का उपयोग विंडो फ़ंक्शंस में किया जा सकता है। SQL देखें AVG()
इसके उदाहरण के लिए शुरुआती के लिए।