카테고리별 합계를 계산하는 방법: SQL의 SUM 함수와 GROUP BY 절 사용

SQL의 SUM 함수와 GROUP BY 절은 데이터베이스 쿼리에서 기본적인 도구입니다. 이 둘을 결합하면 특정 카테고리에 대한 합계를 쉽게 계산할 수 있습니다. 이 글에서는 SUM 함수와 GROUP BY 절의 기본부터 실제 SQL 쿼리 예제까지 자세히 설명합니다.

목차

SUM 함수의 기본

SUM 함수는 지정된 열의 숫자 값을 합산하는 SQL 함수입니다. 예를 들어, 판매 데이터에서 총 매출을 계산할 때 사용됩니다. 기본 구문은 다음과 같습니다:

SELECT SUM(column_name) FROM table_name;

이 쿼리는 지정된 열의 모든 값을 합산합니다. 다음은 구체적인 예입니다.

SUM 함수 사용 예

예를 들어, sales 테이블에 판매 데이터가 있고 amount 열에 각 거래의 금액이 저장되어 있다고 가정합니다. 총 매출을 계산하려면 다음 쿼리를 사용하십시오:

SELECT SUM(amount) FROM sales;

이 쿼리는 sales 테이블의 amount 열에 있는 모든 값을 합산하여 총 매출을 반환합니다.

GROUP BY 절의 기본

GROUP BY 절은 특정 열의 값을 기준으로 데이터를 그룹화하고 각 그룹에 대해 집계를 수행하는 데 사용됩니다. 이는 특정 카테고리의 합계나 평균을 계산하는 데 매우 유용합니다. 기본 구문은 다음과 같습니다:

SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;

이 쿼리는 지정된 열 값을 기준으로 데이터를 그룹화하고 각 그룹에 집계 함수를 적용합니다.

GROUP BY 절 사용 예

예를 들어, sales 테이블에 각 거래의 카테고리를 저장하는 category 열이 있다고 가정합니다. 카테고리별 거래 수를 계산하려면 다음 쿼리를 사용하십시오:

SELECT category, COUNT(*) FROM sales GROUP BY category;

이 쿼리는 sales 테이블의 category 열 값을 기준으로 데이터를 그룹화하고 각 카테고리의 거래 수를 계산합니다.

SUM 함수와 GROUP BY 절의 결합

SUM 함수와 GROUP BY 절을 결합하면 특정 카테고리에 대한 숫자의 합계를 계산할 수 있습니다. 이는 예를 들어, 판매 데이터를 분석하는 데 매우 유용합니다. 기본 구문은 다음과 같습니다:

SELECT column_name, SUM(numeric_column) FROM table_name GROUP BY column_name;

이 쿼리는 지정된 열 값을 기준으로 데이터를 그룹화하고 각 그룹에 대한 숫자 값을 합산합니다.

SUM 함수와 GROUP BY 절 사용 예

예를 들어, sales 테이블에 각 거래의 카테고리를 저장하는 category 열과 거래 금액을 저장하는 amount 열이 있다고 가정합니다. 각 카테고리의 총 매출을 계산하려면 다음 쿼리를 사용하십시오:

SELECT category, SUM(amount) FROM sales GROUP BY category;

이 쿼리는 category 열 값을 기준으로 데이터를 그룹화하고 각 카테고리의 amount 열 값을 합산하여 각 카테고리의 총 매출을 반환합니다.

실제 SQL 쿼리 예제

SUM 함수와 GROUP BY 절을 사용하여 카테고리별 합계를 계산하는 실제 SQL 쿼리 예제를 살펴보겠습니다. sales 테이블에 다음과 같은 데이터가 있다고 가정합니다:

sales
+----+----------+--------+
| id | category | amount |
+----+----------+--------+
| 1  | A        | 100    |
| 2  | B        | 200    |
| 3  | A        | 150    |
| 4  | C        | 250    |
| 5  | B        | 300    |
+----+----------+--------+

각 카테고리(A, B, C)의 총 매출(amount)을 계산하려면 다음 쿼리를 사용하십시오:

SELECT category, SUM(amount) AS total_amount
FROM sales
GROUP BY category;

이 쿼리를 실행한 결과는 다음과 같습니다:

+----------+--------------+
| category | total_amount |
+----------+--------------+
| A        | 250          |
| B        | 500          |
| C        | 250          |
+----------+--------------+

이 결과는 각 카테고리의 총 매출을 보여줍니다. 다음으로, 다중 집계를 수행하는 방법에 대해 논의하겠습니다.

고급 예제: 다중 집계 수행

SUM 함수와 GROUP BY 절을 사용하여 다중 집계를 동시에 수행할 수 있습니다. 이를 통해 각 카테고리에 대해 총 매출, 평균 매출, 거래 건수 등을 한 번에 조회할 수 있습니다.

다중 집계를 위한 SQL 쿼리 예제

예를 들어, sales 테이블에서 각 카테고리에 대한 총 매출(SUM), 평균 매출(AVG), 거래 건수(COUNT)를 조회하려면 다음 쿼리를 사용하십시오:

SELECT category, 
       SUM(amount) AS total_amount, 
       AVG(amount) AS average_amount, 
       COUNT(*) AS transaction_count
FROM sales
GROUP BY category;

이 쿼리는 각 카테고리에 대해 다음 정보를 반환합니다:

  • total_amount: 각 카테고리의 총 매출
  • average_amount: 각 카테고리의 평균 매출
  • transaction_count: 각 카테고리의 거래 건수

쿼리 실행 예제

다음과 같은 데이터가 있는 sales 테이블을 사용해 보겠습니다:

sales
+----+----------+--------+
| id | category | amount |
+----+----------+--------+
| 1  | A        | 100    |
| 2  | B        | 200    |
| 3  | A        | 150    |
| 4  | C        | 250    |
| 5  | B        | 300    |
+----+----------+--------+

위 쿼리를 실행하면 다음과 같은 결과가 나타납니다:

+----------+--------------+----------------+-------------------+
| category | total_amount | average_amount | transaction_count |
+----------+--------------+----------------+-------------------+
| A        | 250          | 125.00         | 2                 |
| B        | 500          | 250.00         | 2                 |
| C        | 250          | 250.00         | 1                 |
+----------+--------------+----------------+-------------------+

이 결과는 각 카테고리의 총 매출, 평균 매출 및 거래 건수를 한 번에 보여줍니다.

결론

SUM 함수와 GROUP BY 절을 사용하여 SQL에서 카테고리별 합계를 계산하는 방법을 살펴보았습니다. 이 함수들을 결합하여 데이터베이스 분석을 효율적으로 수행할 수 있습니다. 기본 구문을 이해하고 실제 쿼리 예제와 다중 집계 예제를 참조하여 여러분의 데이터 분석에 적용해 보십시오. 이러한 SQL 기능을 활용하여 복잡한 데이터를 쉽게 집계하고 필요한 정보를 빠르게 얻을 수 있습니다.

목차