SQLite count()
परिणाम सेट में पंक्तियों की संख्या वापस करने के लिए फ़ंक्शन का उपयोग किया जा सकता है।
इसका उपयोग परिणाम सेट में दिए गए कॉलम के NULL नहीं होने की संख्या को वापस करने के लिए भी किया जा सकता है।
इसे दो तरह से इस्तेमाल किया जा सकता है। यदि आप तारांकन में पास होते हैं (*
) वाइल्डकार्ड वर्ण, यह समूह में पंक्तियों की कुल संख्या लौटाएगा। यदि आप किसी कॉलम का नाम प्रदान करते हैं, तो यह उस कॉलम के NULL नहीं होने की संख्या लौटाएगा।
सिंटैक्स
वाक्य रचना इस प्रकार है:
count(X)
count(*)
तो इस मामले में, X
एक कॉलम का नाम हो सकता है, और तारक (*
.) ) समूह में पंक्तियों की कुल संख्या निर्दिष्ट करने के लिए वाइल्डकार्ड का उपयोग किया जाता है।
उदाहरण:गिनती(*)
तालिका में पंक्तियों की संख्या वापस करने के लिए तारांकन (*) सिंटैक्स प्रदर्शित करने के लिए यहां एक मूल उदाहरण दिया गया है।
SELECT count(*) FROM Customer;
परिणाम:
59
मैंने इस क्वेरी को चिनूक नमूना डेटाबेस पर चलाया, और इसलिए यह पता चला कि ग्राहक में 59 पंक्तियाँ हैं टेबल।
उदाहरण:गिनती(X)
इस उदाहरण में, मैं तालिका के एक विशिष्ट कॉलम का नाम पास करता हूं।
SELECT count(Fax) FROM Customer;
परिणाम:
12
इस मामले में, फ़ैक्स कॉलम में 12 गैर-शून्य मान हैं।
दूसरे शब्दों में, 47 पंक्तियों में फ़ैक्स . में एक NULL मान होता है कॉलम।
WHERE क्लॉज का उपयोग करना
count()
. का परिणाम किसी WHERE
. के बाद गणना की जाती है खंड।
SELECT count(Fax)
FROM Customer
WHERE CustomerId <= 5;
परिणाम:
2
इस मामले में, फ़ैक्स . में केवल दो गैर-शून्य मान थे परिणाम सेट के भीतर कॉलम।
यहां दिए गए कॉलम के साथ परिणाम कैसा दिखता है (और count()
का उपयोग किए बिना) समारोह)।
SELECT CustomerId, Fax
FROM Customer
WHERE CustomerId <= 5;
परिणाम:
CustomerId Fax ---------- ------------------ 1 +55 (12) 3923-5566 2 3 4 5 +420 2 4172 5555
इसलिए हम देख सकते हैं कि फ़ैक्स . में केवल पंक्तियों 1 और 5 में गैर-शून्य मान हैं कॉलम।
LIMIT क्लॉज का उपयोग करना
किसी LIMIT
. के बाद परिणाम की गणना नहीं की जाती है खंड।
SELECT count(Fax)
FROM Customer
LIMIT 5;
परिणाम:
12
लेकिन आप इसके बजाय कुछ ऐसा कर सकते हैं:
SELECT count(Fax)
FROM (SELECT Fax FROM Customer
LIMIT 5);
परिणाम:
2
समूहीकृत परिणाम
count()
. के लिए एक आसान उपयोग मामला इसका उपयोग GROUP BY
. के संयोजन में करना है क्लॉज, ताकि कई पंक्तियों को वापस कर दिया जाए - प्रत्येक एक समूह का प्रतिनिधित्व करता है - उस समूह में पंक्तियों की गिनती के साथ।
यहाँ एक उदाहरण है।
SELECT
ar.Name,
count(al.Title)
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
WHERE ar.Name LIKE 'D%'
GROUP BY ar.Name
LIMIT 10;
परिणाम:
Name count(al.Title) --------------- --------------- David Coverdale 1 Deep Purple 11 Def Leppard 1 Dennis Chambers 1 Djavan 2 Dread Zeppelin 1
DISTINCT कीवर्ड
आप DISTINCT
जोड़ सकते हैं कीवर्ड केवल विशिष्ट मानों की गणना करने के लिए। दूसरे शब्दों में, आप गणना में डुप्लिकेट मान निकाल सकते हैं।
इसके उदाहरणों के लिए देखें कि SQLite काउंट () परिणामों से डुप्लिकेट कैसे निकालें।