Để hiển thị tổng ở hàng cuối cùng của bảng, bạn có thể sử dụng UNION. Để hiểu cách thực hiện, hãy để chúng tôi tạo một bảng
mysql> create table showSumInLastRowDemo -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(20), -> StudentMarks int -> ); Query OK, 0 rows affected (0.69 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('John',56); Query OK, 1 row affected (0.14 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('John',87); Query OK, 1 row affected (0.10 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('John',52); Query OK, 1 row affected (0.17 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('Carol',97); Query OK, 1 row affected (0.12 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('Larry',75); Query OK, 1 row affected (0.14 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('Larry',98); Query OK, 1 row affected (0.10 sec) mysql> insert into showSumInLastRowDemo(StudentName,StudentMarks) values('Carol',73); Query OK, 1 row affected (0.14 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from showSumInLastRowDemo;
Sau đây là kết quả
+-----------+-------------+--------------+ | StudentId | StudentName | StudentMarks | +-----------+-------------+--------------+ | 1 | John | 56 | | 2 | John | 87 | | 3 | John | 52 | | 4 | Carol | 97 | | 5 | Larry | 75 | | 6 | Larry | 98 | | 7 | Carol | 73 | +-----------+-------------+--------------+ 7 rows in set (0.00 sec)
Đây là truy vấn để hiển thị tổng trong hàng cuối cùng của bảng bằng MySQL
mysql> (select StudentName,StudentMarks from showSumInLastRowDemo) -> UNION -> (select 'TotalMarksOfAllStudent' as StudentName,sum(StudentMarks) StudentMarks from showSumInLastRowDemo);
Sau đây là kết quả
+------------------------+--------------+ | StudentName | StudentMarks | +------------------------+--------------+ | John | 56 | | John | 87 | | John | 52 | | Carol | 97 | | Larry | 75 | | Larry | 98 | | Carol | 73 | | TotalMarksOfAllStudent | 538 | +------------------------+--------------+ 8 rows in set (0.00 sec)