테이블의 마지막 행에 합계를 표시하려면 UNION을 사용할 수 있습니다. 방법을 이해하기 위해 테이블을 생성해 보겠습니다.
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)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
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)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from showSumInLastRowDemo;
다음은 출력입니다.
+-----------+-------------+--------------+ | 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)
다음은 MySQL을 사용하여 테이블의 마지막 행에 합계를 표시하는 쿼리입니다.
mysql> (select StudentName,StudentMarks from showSumInLastRowDemo) -> UNION -> (select 'TotalMarksOfAllStudent' as StudentName,sum(StudentMarks) StudentMarks from showSumInLastRowDemo);
다음은 출력입니다.
+------------------------+--------------+ | 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)