MySQL 결과의 마지막 행에서 합계를 얻으려면 다음 구문을 사용하십시오 -
( SELECT yourColumnName1, yourColumnName2, yourColumnName3, . . N FROM yourTableName ) UNION ( SELECT "yourMessage" AS anyAliasName1, SUM(yourColumnName1) AS anyAliasName2, SUM(yourColumnName2) AS anyAliasName3, . . N FROM yourTableName );
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table ProductDemo -> ( -> ProductId varchar(10), -> ProductQuantity int, -> ProductValue int -> ); Query OK, 0 rows affected (0.63 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into ProductDemo values('Product-1',10,300); Query OK, 1 row affected (0.10 sec) mysql> insert into ProductDemo values('Product-2',5,200); Query OK, 1 row affected (0.17 sec) mysql> insert into ProductDemo values('Product-3',7,340); Query OK, 1 row affected (0.13 sec) mysql> insert into ProductDemo values('Product-4',20,500); Query OK, 1 row affected (0.10 sec) mysql> insert into ProductDemo values('Product-5',30,1000); Query OK, 1 row affected (0.42 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from ProductDemo;
다음은 출력입니다 -
+-----------+-----------------+--------------+ | ProductId | ProductQuantity | ProductValue | +-----------+-----------------+--------------+ | Product-1 | 10 | 300 | | Product-2 | 5 | 200 | | Product-3 | 7 | 340 | | Product-4 | 20 | 500 | | Product-5 | 30 | 1000 | +-----------+-----------------+--------------+ 5 rows in set (0.00 sec)
다음은 MySQL 결과의 마지막 행에서 합계를 구하는 쿼리입니다 -
mysql> (SELECT ProductId, -> ProductQuantity, -> ProductValue -> FROM ProductDemo) -> UNION -> (SELECT "Total" AS ProductName, -> SUM(ProductQuantity) AS TotalQuantity, -> SUM(ProductValue) AS TotalValue -> FROM ProductDemo);
출력
+-----------+-----------------+--------------+ | ProductId | ProductQuantity | ProductValue | +-----------+-----------------+--------------+ | Product-1 | 10 | 300 | | Product-2 | 5 | 200 | | Product-3 | 7 | 340 | | Product-4 | 20 | 500 | | Product-5 | 30 | 1000 | | Total | 72 | 2340 | +-----------+-----------------+--------------+ 6 rows in set (0.00 sec)