MySQL में SUM() एग्रीगेट फ़ंक्शन का उपयोग करके आप प्रत्येक संख्यात्मक कॉलम का योग एक ही क्वेरी में प्राप्त कर सकते हैं। यह वित्तीय सारांश, सांख्यिकीय विश्लेषण, और रिपोर्टिंग के लिए मानक है।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstValue INT,
SecondValue INT,
ThirdValue INT
);
डेटा डालना
mysql> INSERT INTO DemoTable (FirstValue, SecondValue, ThirdValue) VALUES
-> (10, 20, 30), (60, 50, 40), (80, 90, 100), (20, 10, 0);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट:
+----+------------+-------------+------------+ | Id | FirstValue | SecondValue | ThirdValue | +----+------------+-------------+------------+ | 1 | 10 | 20 | 30 | | 2 | 60 | 50 | 40 | | 3 | 80 | 90 | 100 | | 4 | 20 | 10 | 0 | +----+------------+-------------+------------+
प्रत्येक कॉलम का योग प्राप्त करना
mysql> SELECT SUM(FirstValue), SUM(SecondValue), SUM(ThirdValue) FROM DemoTable;
आउटपुट:
+-----------------+------------------+-----------------+ | SUM(FirstValue) | SUM(SecondValue) | SUM(ThirdValue) | +-----------------+------------------+-----------------+ | 170 | 170 | 170 | +-----------------+------------------+-----------------+
व्याख्या: प्रत्येक SUM(column) स्वतंत्र रूप से उस कॉलम के सभी गैर-NULL मानों को जोड़ता है। NULL मान स्वचालित रूप से अनदेखे किए जाते हैं (योग में भाग नहीं लेते)।
संबंधित एग्रीगेट फ़ंक्शन:
AVG()- औसतMIN() / MAX()- न्यूनतम/अधिकतमCOUNT()- गिनती (NULL को छोड़कर)COUNT(*)- पंक्ति गिनती (NULL सहित)STDDEV()- मानक विचलन
सभी संख्यात्मक कॉलम के लिए डायनामिक क्वेरी: यदि कॉलम नाम पहले से ज्ञात नहीं हैं, तो INFORMATION_SCHEMA.COLUMNS से कॉलम नाम प्राप्त करके डायनामिक SQL बनाएं।