SQLite में, total()
फ़ंक्शन किसी समूह में सभी गैर-शून्य मानों का योग देता है।
यदि कोई गैर-शून्य मान नहीं है, तो यह 0.0 लौटाता है।
यह फ़ंक्शन sum()
. के समान है फ़ंक्शन, सिवाय इसके कि यह NULL इनपुट को कैसे हैंडल करता है। जब कोई गैर-शून्य मान न हो, तो sum()
NULL देता है (0.0 के बजाय total()
फ़ंक्शन रिटर्न)।
उदाहरण
निम्न तालिका पर विचार करें।
SELECT * FROM Products;
परिणाम:
ProductId ProductName Price ---------- --------------------- ---------- 1 Blue Widgets (6 Pack) 389.45 2 Widget Holder 139.5 3 Widget Opener 89.27 4 Foobar Set 120.0 5 Red Widget
हम total()
. का उपयोग कर सकते हैं कुल मूल्य प्राप्त करने के लिए कार्य करें।
SELECT total(Price) FROM Products;
परिणाम:
738.22
हालांकि अंतिम पंक्ति की कीमत NULL है, total()
फ़ंक्शन इसे संभाल सकता है, क्योंकि यह सभी गैर-नल मान जोड़ता है और NULL मान को अनदेखा करता है।
सभी NULL मान
यदि कोई गैर-शून्य मान नहीं हैं, तो परिणाम 0.0 है।
SELECT total(Price)
FROM Products
WHERE ProductId = 5;
परिणाम:
0.0
यह वह जगह है जहां total()
और sum()
अलग होना। इस मामले में, sum()
NULL वापस आ गया होता।
total()
फ़ंक्शन हमेशा एक फ़्लोटिंग पॉइंट मान देता है।
ध्यान रखें कि यह SQL मानक के अनुरूप नहीं है। यदि आप मानक अनुपालन कोड का उपयोग करना चाहते हैं, तो sum()
. का उपयोग करें ।
एक सबसेट का योग प्राप्त करें
यहां एक और उदाहरण दिया गया है जो WHERE
. का उपयोग करता है तालिका का एक सबसेट वापस करने के लिए खंड।
SELECT total(Price)
FROM Products
WHERE ProductId > 2;
परिणाम:
209.27
इस बार यह गैर-शून्य मान जोड़ रहा है, इसलिए मुझे एक गैर-शून्य परिणाम मिलता है।
यहां एक और कॉलम है जो उसी कॉलम से फ़िल्टर करता है जिसे मैं जोड़ रहा हूं।
SELECT total(Price)
FROM Products
WHERE Price < 150;
परिणाम:
348.77