Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 결과의 마지막 행에서 합계를 얻으시겠습니까?

<시간/>

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)