이를 이해하기 위해 ID, 고객 이름, 항목, 가격과 같은 필드가 있는 테이블을 생성해 보겠습니다. 먼저 항목에 가격을 곱합니다. 그 후에 유사한 레코드, 즉 동일한 고객 이름이 있는 행이 추가됩니다.
먼저 테이블을 생성해 보겠습니다.
mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(100), CustomerItems int, CustomerPrice int ); Query OK, 0 rows affected (0.54 sec)
다음은 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하는 쿼리입니다.
mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',3,450); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Mike',2,550); Query OK, 1 row affected (0.42 sec) mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',4,1000); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',1,100); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Mike',5,200); Query OK, 1 row affected (0.71 sec)
다음은 select 명령을 사용하여 테이블의 레코드를 표시하는 쿼리입니다.
mysql> select *from DemoTable;
그러면 다음과 같은 출력이 생성됩니다.
+------------+--------------+---------------+---------------+ | CustomerId | CustomerName | CustomerItems | CustomerPrice | +------------+--------------+---------------+---------------+ | 1 | Larry | 3 | 450 | | 2 | Mike | 2 | 550 | | 3 | Larry | 4 | 1000 | | 4 | Larry | 1 | 100 | | 5 | Mike | 5 | 200 | +------------+--------------+---------------+---------------+ 5 rows in set (0.00 sec)
다음은 열(항목 * 가격)을 곱한 다음 유사한 레코드가 있는 행을 합하는 쿼리입니다.
mysql> SELECT CustomerName, SUM( CustomerItems* CustomerPrice) AS TOTAL_PRICE FROM DemoTable GROUP BY CustomerName;
그러면 다음과 같은 출력이 생성됩니다.
+--------------+-------------+ | CustomerName | TOTAL_PRICE | +--------------+-------------+ | Larry | 5450 | | Mike | 2100 | +--------------+-------------+ 2 rows in set (0.05 sec)