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

DISTINCT कीवर्ड के साथ SQLite में अपना औसत () परिणाम बदलें

यदि आप avg() . के बारे में जानते हैं SQLite में काम करते हैं, आप शायद जानते हैं कि यह सभी गैर-नल का औसत देता हैX एक समूह के भीतर।

लेकिन क्या आप जानते हैं कि आप DISTINCT जोड़ सकते हैं इस फ़ंक्शन के लिए कीवर्ड?

अगर आप DISTINCT जोड़ते हैं कीवर्ड, avg() केवल अलग-अलग मूल्यों के आधार पर इसके परिणामों की गणना करेगा। यह अनिवार्य रूप से डुप्लिकेट मानों को हटाने और फिर शेष मानों पर औसत की गणना करने जैसा ही है।

सिंटैक्स

DISTINCT का उपयोग करने के लिए कीवर्ड, आप बस इसे पहले तर्क के रूप में डालें।

इस तरह:

avg(DISTINCT X)

जहां X वह कॉलम नाम है जिसके लिए आप औसत की गणना कर रहे हैं।

उदाहरण

Products नामक निम्न तालिका लें::

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Blue Widget    10.0      
3           Red Widget     10.0      
4           Green Widget   10.0      
5           Widget Stick   89.75     
6           Foo Cap        11.99     

अगर मैं एक सामान्य avg() run चलाता हूं मूल्य कॉलम पर:

SELECT avg(Price) FROM Products;

यहाँ मुझे क्या मिलता है:

45.2066666666667

लेकिन अगर मैं एक DISTINCT चलाता हूं क्वेरी:

SELECT avg(DISTINCT Price) FROM Products;

मुझे यह मिलता है:

62.81

तो इस मामले में यह परिणाम को काफी हद तक बदल देता है।

स्पष्ट होने के लिए, यहाँ वे साथ-साथ हैं:

SELECT 
 avg(Price) AS "Non-Distinct",
 avg(DISTINCT Price) AS "Distinct"
FROM Products;

परिणाम:

Non-Distinct      Distinct  
----------------  ----------
45.2066666666667  62.81     

जैसा कि आप शायद कल्पना कर सकते हैं, DISTINCT . का उपयोग करके 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 डेटाबेस को एक्सेल में बदलने के लिए एंड्रॉइड प्रोग्राम

  2. SQLite कहा पे

  3. android.database.sqlite.SQLiteCantOpenDatabaseException:अज्ञात त्रुटि (कोड 14):डेटाबेस नहीं खोल सका

  4. Android SQLite अद्यतन पंक्ति काम नहीं कर रही है

  5. SQLite में JSON दस्तावेज़ से मान निकालने के 3 तरीके