SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite AVG

सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite AVG का उपयोग कैसे करें मूल्यों के एक सेट के औसत मूल्य की गणना करने के लिए कार्य करता है।

SQLite AVG फ़ंक्शन का परिचय

AVG फ़ंक्शन एक समग्र फ़ंक्शन है जो सभी गैर-शून्य मानों . के औसत मान की गणना करता है एक समूह के भीतर।

निम्नलिखित AVG . के सिंटैक्स को दिखाता है समारोह:

AVG([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)

डिफ़ॉल्ट रूप से, AVG फ़ंक्शन ALL . का उपयोग करता है खंड आप इसे निर्दिष्ट करते हैं या नहीं। इसका मतलब है कि औसत मान की गणना करते समय AVG फ़ंक्शन सभी गैर-शून्य मान लेगा।

यदि आप विशिष्ट (या अद्वितीय) मानों के औसत मूल्य की गणना करना चाहते हैं, तो आपको अभिव्यक्ति में स्पष्ट रूप से DISTINCT खंड निर्दिष्ट करना होगा।

यदि कोई कॉलम मिश्रित डेटा प्रकारों जैसे पूर्णांक, वास्तविक, BLOB और टेक्स्ट को संग्रहीत करता है, तो SQLite AVG फ़ंक्शन बीएलओबी की व्याख्या करता है जो शून्य (0) के रूप में एक संख्या की तरह नहीं दिखता है।

AVG . का मान फ़ंक्शन हमेशा एक फ़्लोटिंग पॉइंट मान या NULL होता है मूल्य। AVG फ़ंक्शन केवल एक NULL देता है मान अगर और केवल अगर समूह में सभी मान NULL हैं मान।

SQLite फ़ंक्शन विभिन्न डेटा प्रकारों के साथ कैसे काम करता है, यह देखने के लिए आप एक त्वरित परीक्षण कर सकते हैं।

सबसे पहले, avg_tests . नाम की एक नई तालिका बनाएं निम्नलिखित कथन का उपयोग करते हुए:

CREATE TABLE avg_tests (val);Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

इसके बाद, avg_tests . में कुछ मिश्रित मान डालें टेबल।

INSERT INTO avg_tests (val)
VALUES
 (1),
 (2),
 (10.1),
 (20.5),
 ('8'),
 ('B'),
 (NULL),
 (x'0010'),
 (x'0011');Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

फिर, avg_tests . से डेटा क्वेरी करें टेबल।

SELECT rowid,
       val
  FROM avg_tests;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

उसके बाद, आप AVG . का उपयोग कर सकते हैं पहली चार पंक्तियों के औसत की गणना करने के लिए कार्य करता है जिसमें केवल संख्यात्मक मान होते हैं।

SELECT
	avg(val)
FROM
	avg_tests
WHERE
	rowid < 5;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

अंत में, AVG लागू करें val . में सभी मानों के लिए कार्य करें avg_tests . का कॉलम टेबल।

SELECT
	avg(val)
FROM
	avg_tests;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

avg_tests . में आपकी 9 पंक्तियाँ हैं टेबल। पंक्ति 7 NULL है . इसलिए, औसत की गणना करते समय, AVG फ़ंक्शन इसे अनदेखा करता है और गणना में 8 पंक्तियां लेता है।

पहली चार पंक्तियाँ पूर्णांक और वास्तविक मान हैं:1,2, 10.1 और 20.5। SQLite AVG फ़ंक्शन गणना में उन मानों का उपयोग करता है।

5वीं और 6वीं पंक्ति टेक्स्ट प्रकार हैं क्योंकि हमने 'बी' और '8' के रूप में डाला है। क्योंकि 8 एक संख्या की तरह दिखता है, इसलिए SQLite B को 0 और '8' को 8 के रूप में व्याख्यायित करता है।

8वीं और 9वीं पंक्तियाँ हैं BLOB प्रकार जो संख्याओं की तरह नहीं दिखते हैं, इसलिए SQLite इन मानों को 0 के रूप में व्याख्यायित करता है।

AVG(cal) व्यंजक निम्न सूत्र का उपयोग करता है:

AVG(val) = (1 + 2 + 10.1 + 20.5 + 8 + 0 + 0 + 0 )/ 8 = 5.2Code language: SQL (Structured Query Language) (sql)

आइए देखें कि कैसे DISTINCT खंड काम करता है।

सबसे पहले, avg_tests . में एक नई पंक्ति डालें मान वाली तालिका पहले से मौजूद है।

INSERT INTO avg_tests (val)
VALUES (10.1);Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

दूसरा, AVG लागू करें DISTINCT के बिना कार्य करें खंड:

SELECT
	avg(val)
FROM
	avg_tests;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

तीसरा, DISTINCT जोड़ें AVG . का खंड समारोह:

SELECT
	avg(DISTINCT val)
FROM
	avg_tests;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

क्योंकि avg_tests तालिका में 10.1 समान मान वाली दो पंक्तियाँ हैं, AVG(DISTINCT) गणना के लिए केवल एक पंक्ति लेता है। इसलिए, आपको एक अलग परिणाम मिला।

SQLite AVG व्यावहारिक उदाहरण कार्य करें

हम tracks . का उपयोग करेंगे प्रदर्शन के लिए नमूना डेटाबेस में तालिका।

मिलीसेकंड में सभी ट्रैक की औसत लंबाई की गणना करने के लिए, आप निम्न कथन का उपयोग करते हैं:

SELECT
	avg(milliseconds)
FROM
	tracks;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite AVG फंक्शन GROUP BY के साथ खंड

प्रत्येक एल्बम के लिए ट्रैक की औसत लंबाई की गणना करने के लिए, आप AVG . का उपयोग करते हैं GROUP BY . के साथ कार्य करें खंड।

सबसे पहले, GROUP BY क्लॉज एल्बमों द्वारा ट्रैक का एक समूह समूहित करता है। फिर, AVG फ़ंक्शन प्रत्येक एल्बम के लिए ट्रैक की औसत लंबाई की गणना करता है।

निम्नलिखित कथन देखें।

SELECT
	albumid,
	avg(milliseconds)
FROM
	tracks
GROUP BY
	albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite AVG INNER JOIN के साथ कार्य करें खंड उदाहरण

एल्बम का शीर्षक albumid . के साथ प्राप्त करने के लिए कॉलम, आप उपरोक्त कथन में निम्न क्वेरी की तरह INNER JOIN क्लॉज का उपयोग करते हैं:

SELECT
	tracks.AlbumId,
	Title,
	round(avg(Milliseconds), 2) avg_length
FROM
	tracks
INNER JOIN albums ON albums.AlbumId = tracks.albumid
GROUP BY
	tracks.albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

ध्यान दें कि हमने ROUND . का उपयोग किया है फ़्लोटिंग मान को दशमलव बिंदु के दाईं ओर 2 अंकों तक गोल करने के लिए कार्य करता है।

HAVING क्लॉज उदाहरण के साथ SQLite AVG फंक्शन

आप या तो AVG . का उपयोग कर सकते हैं समूहों को फ़िल्टर करने के लिए HAVING क्लॉज़ में फ़ंक्शन या उसके कॉलम का उपनाम। निम्न कथन केवल उन्हीं एल्बमों को प्राप्त करता है जिनकी औसत लंबाई 100000 और 200000 के बीच होती है।

SELECT
	tracks.albumid,
	title,
	round(avg(milliseconds),2)  avg_leng
FROM
	tracks
INNER JOIN albums ON albums.AlbumId = tracks.albumid
GROUP BY
	tracks.albumid
HAVING
	avg_leng BETWEEN 100000 AND 200000;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

इस ट्यूटोरियल में, हमने आपको दिखाया है कि SQLite AVG . का उपयोग कैसे किया जाता है समूह में गैर-शून्य मानों के औसत मानों की गणना करने के लिए कार्य करता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका नहीं बनाई जा रही sqlite android

  2. SQLite परिणामों को JSON के रूप में प्रारूपित करें

  3. SQLitE डेटाबेस से लोड किया गया डेटा मॉडल वर्ग ArrayList android में सहेजा नहीं जा रहा है

  4. डेटाबेस से डेटा कैसे खींचे और उन्हें एक सूची दृश्य के रूप में देखें

  5. रूम क्वेरी में एक विशिष्ट पैरामीटर दिए गए रूम डेटाबेस से एक विशिष्ट कॉलम का चयन कैसे करें?