Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 여러 열의 값을 계산하는 방법 – GROUP BY와 SUM 함수 활용하기

MySQL에서 여러 열 값을 계산하는 방법

MySQL에서 여러 열에 걸쳐 값을 계산하려면 GROUP BY 절과 집계 함수인 SUM()을 함께 사용하면 됩니다. 예를 들어, 상품 가격과 무게를 곱한 결과를 특정 기준(여기서는 Id)별로 합산할 수 있습니다.

기본 문법

다음은 여러 열의 값을 계산하는 기본적인 쿼리 문법입니다.

SELECT yourColumnName1, SUM(yourColumnName2 * yourColumnName3) AS anyAliasName
FROM yourTableName
GROUP BY yourColumnName1;

예제 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE calculateValueDemo
-> (
-> Id int,
-> ProductPrice int,
-> ProductWeight int
-> );
Query OK, 0 rows affected (0.56 sec)

데이터 삽입

INSERT 명령어를 사용하여 테이블에 레코드를 추가합니다.

mysql> INSERT INTO calculateValueDemo VALUES(100,35,5);
Query OK, 1 row affected (0.16 sec)

mysql> INSERT INTO calculateValueDemo VALUES(101,50,3);
Query OK, 1 row affected (0.16 sec)

mysql> INSERT INTO calculateValueDemo VALUES(100,100,4);
Query OK, 1 row affected (0.17 sec)

mysql> INSERT INTO calculateValueDemo VALUES(101,500,2);
Query OK, 1 row affected (0.22 sec)

저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> SELECT * FROM calculateValueDemo;

위 쿼리는 다음과 같은 결과를 출력합니다.

+------+--------------+---------------+
| Id | ProductPrice | ProductWeight |
+------+--------------+---------------+
| 100 | 35 | 5 |
| 101 | 50 | 3 |
| 100 | 100 | 4 |
| 101 | 500 | 2 |
+------+--------------+---------------+
4 rows in set (0.00 sec)

여러 열 값 계산하기

이제 ProductPrice(상품 가격)와 ProductWeight(상품 무게)를 곱한 값을 Id별로 합산하는 쿼리를 실행해 보겠습니다.

mysql> SELECT Id, SUM(ProductPrice * ProductWeight) AS Total FROM calculateValueDemo GROUP BY Id;

실행 결과는 다음과 같습니다.

+------+-------+
| Id | Total |
+------+-------+
| 100 | 575 |
| 101 | 1150 |
+------+-------+
2 rows in set (0.00 sec)

결과 해석

결과를 살펴보면 다음과 같습니다.

  • Id = 100: (35 × 5) + (100 × 4) = 175 + 400 = 575
  • Id = 101: (50 × 3) + (500 × 2) = 150 + 1000 = 1150

이처럼 GROUP BY 절로 그룹을 나누고 SUM() 함수 안에서 두 열을 곱하면, 각 그룹별로 여러 열의 계산 결과를 손쉽게 집계할 수 있습니다. 이 방식은 주문 금액 합계, 재고 평가액 산출 등 다양한 실무 시나리오에서 유용하게 활용됩니다.