समस्या:
आप किसी कॉलम में संग्रहीत संख्याओं के औसत की गणना करना चाहेंगे।
उदाहरण:
हमारे डेटाबेस में sale
निम्नलिखित कॉलम में डेटा के साथ:id
, city
, year
, और amount
।
आईडी | शहर | वर्ष | <थ>राशि|
---|---|---|---|
1 | लॉस एंजिल्स | 2017 | 2345.50 |
2 | शिकागो | 2018 | 1345.46 |
3 | अन्नाडेल | 2016 | 900.56 |
4 | अन्नाडेल | 2017 | 23230.22 |
5 | लॉस एंजिल्स | 2018 | 12456.20 |
6 | शिकागो | 2017 | 8900.40 |
7 | अन्नाडेल | 2018 | 21005.77 |
8 | शिकागो | 2016 | 230.89 |
आइए औसत बिक्री की गणना करें, शहर या वर्ष की परवाह किए बिना।
समाधान:
SELECT AVG(amount) as avg_amount FROM sale;
ये रहा परिणाम:
औसत_राशि |
---|
19073.125000 |
चर्चा:
यदि आप किसी कॉलम में संग्रहीत संख्यात्मक मानों के औसत की गणना करना चाहते हैं, तो आप AVG()
का उपयोग करके ऐसा कर सकते हैं। कुल कार्य; यह अपने तर्क के रूप में उस कॉलम का नाम लेता है जिसका औसत आप गणना करना चाहते हैं। यदि आपने SELECT
. में कोई अन्य कॉलम निर्दिष्ट नहीं किया है खंड, तालिका में सभी अभिलेखों के लिए औसत की गणना की जाएगी।
बेशक, चूंकि यह एक समग्र कार्य है, AVG()
समूहों के साथ भी इस्तेमाल किया जा सकता है। उदाहरण के लिए, यदि हम प्रति शहर औसत बिक्री खोजना चाहते हैं, तो हम यह प्रश्न लिख सकते हैं:
SELECT city, AVG(amount) as avg_amount FROM sale GROUP BY city;
प्रत्येक शहर के लिए औसत की गणना की जाती है:
शहर | <थ>राशि|
---|---|
लॉस एंजिल्स | 7400.85000 |
शिकागो | 30882.250000 |
अन्नाडेल | 15045.516667 |
इसके अतिरिक्त, यदि औसत को गोल करना है, तो आप AVG()
. का परिणाम पास कर सकते हैं ROUND()
. में कार्य करें :
SELECT city, ROUND(AVG(amount), 2) as avg_amount FROM sale GROUP BY city;