समाधान: UNION के साथ कुल पंक्ति जोड़ना
क्वेरी परिणाम की अंतिम पंक्ति में सभी पंक्तियों का योग दिखाने के लिए UNION का उपयोग करके एक अतिरिक्त पंक्ति जोड़ें।
सिंटैक्स
(SELECT column1, column2 FROM yourTableName)
UNION
(SELECT 'TotalLabel' AS column1, SUM(column2) AS column2 FROM yourTableName);
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE showSumInLastRowDemo (
-> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName VARCHAR(20),
-> StudentMarks INT
-> );
mysql> INSERT INTO showSumInLastRowDemo(StudentName, StudentMarks) VALUES
-> ('John', 56), ('John', 87), ('John', 52),
-> ('Carol', 97), ('Larry', 75), ('Larry', 98), ('Carol', 73);
मूल डेटा (7 पंक्तियाँ)
| StudentId | StudentName | StudentMarks |
| 1 | John | 56 |
| 2 | John | 87 |
| 3 | John | 52 |
| 4 | Carol | 97 |
| 5 | Larry | 75 |
| 6 | Larry | 98 |
| 7 | Carol | 73 |
कुल पंक्ति के साथ क्वेरी
mysql> (SELECT StudentName, StudentMarks FROM showSumInLastRowDemo)
-> UNION
-> (SELECT 'TotalMarksOfAllStudent' AS StudentName, SUM(StudentMarks) AS StudentMarks
-> FROM showSumInLastRowDemo);
परिणाम (8 पंक्तियाँ - अंतिम पंक्ति कुल)
| StudentName | StudentMarks |
| John | 56 |
| John | 87 |
| John | 52 |
| Carol | 97 |
| Larry | 75 |
| Larry | 98 |
| Carol | 73 |
| TotalMarksOfAllStudent | 538 |
महत्वपूर्ण नोट्स
UNION डुप्लीकेट हटाता है - यदि कुल मान किसी मौजूदा पंक्ति से मेल खाता है, तो यह गायब हो जाएगा
UNION ALL का उपयोग करें यदि आप डुप्लीकेट कुल पंक्ति भी चाहते हैं
- कॉलम संख्या और डेटा प्रकार दोनों SELECT में मेल खाने चाहिए
- क्रम की गारंटी नहीं - कुल पंक्ति अंत में दिखाने के लिए ORDER BY जोड़ें
बेहतर दृष्टिकोण: ORDER BY के साथ
(SELECT 1 AS sort_order, StudentName, StudentMarks FROM showSumInLastRowDemo)
UNION ALL
(SELECT 2 AS sort_order, 'Total' AS StudentName, SUM(StudentMarks) FROM showSumInLastRowDemo)
ORDER BY sort_order, StudentName;