MySQL에서 제품 테이블에 저장된 재고의 총 가치를 구하려면 각 제품의 수량 × 단가를 곱한 값들을 모두 더하면 됩니다. 이때 SUM() 함수와 산술 연산자를 함께 사용하면 하나의 쿼리로 간단하게 처리할 수 있습니다. 아래에서 테이블 생성부터 결과 확인까지 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 예제로 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
ProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ProductQuantity int,
ProductPrice int
);
Query OK, 0 rows affected (0.19 sec)2. 데이터 삽입하기
INSERT 명령을 사용하여 테이블에 제품 레코드를 추가합니다.
mysql> insert into DemoTable(ProductQuantity,ProductPrice) values(10,100); Query OK, 1 row affected (0.06 sec) mysql> insert into DemoTable(ProductQuantity,ProductPrice) values(5,11); Query OK, 1 row affected (0.04 sec) mysql> insert into DemoTable(ProductQuantity,ProductPrice) values(3,140); Query OK, 1 row affected (0.05 sec) mysql> insert into DemoTable(ProductQuantity,ProductPrice) values(2,450); Query OK, 1 row affected (0.15 sec)
3. 저장된 데이터 확인하기
SELECT 문으로 테이블의 전체 레코드를 조회합니다.
mysql> select *from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+-----------+-----------------+--------------+ | ProductId | ProductQuantity | ProductPrice | +-----------+-----------------+--------------+ | 1 | 10 | 100 | | 2 | 5 | 11 | | 3 | 3 | 140 | | 4 | 2 | 450 | +-----------+-----------------+--------------+ 4 rows in set (0.00 sec)
4. 제품 총 가치 계산하기
제품의 총 가치를 계산하는 쿼리는 다음과 같습니다. 수량(ProductQuantity)과 가격(ProductPrice)을 곱한 값들을 SUM() 함수로 합산하고, 별칭(AS)을 사용해 결과 열의 이름을 지정했습니다.
mysql> select sum(ProductQuantity*ProductPrice) as Total_of_Products from DemoTable;
실행 결과는 다음과 같습니다.
+-------------------+ | Total_of_Products | +-------------------+ | 2375 | +-------------------+ 1 row in set (0.00 sec)
결과 검증
계산 과정을 직접 확인해 보면 다음과 같습니다.
- 제품 1: 10 × 100 = 1,000
- 제품 2: 5 × 11 = 55
- 제품 3: 3 × 140 = 420
- 제품 4: 2 × 450 = 900
따라서 총 가치는 1,000 + 55 + 420 + 900 = 2,375로, 쿼리 결과와 일치합니다. 이처럼 SUM() 함수 안에서 열끼리 곱셈을 수행하면 별도의 중간 테이블이나 애플리케이션 로직 없이도 재고 총액을 손쉽게 집계할 수 있습니다.