Skip to content

SQL:GroupBy

집계 함수 (Aggregate Function)

COUNT (카운트)

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

SUM (합계)

AVG (평균)

MIN (최소)

MAX (최대)

집계 함수 없이 사용

집계 함수 없이 GROUP BY를 사용하면, 단순히 고유한 조합별로 데이터를 그룹화한 결과를 반환합니다. 예를 들어:

SELECT department, job_title
FROM employees
GROUP BY department, job_title;

이 경우, department와 job_title의 고유한 조합만 반환합니다. 이는 데이터를 요약하지 않고 중복을 제거하고자 할 때 유용합니다.

규칙

SELECT 절에 명시된 컬럼은 모두 GROUP BY에 포함되거나 집계 함수로 처리되어야 합니다. 그렇지 않으면 SQL 구문 오류가 발생합니다.

예를 들어, 다음은 오류를 발생시킵니다:

SELECT department, job_title, salary
FROM employees
GROUP BY department, job_title;

오류 이유: salary가 GROUP BY에도 없고 집계 함수로 처리되지 않았기 때문입니다.

올바른 예제:

SELECT department, job_title, MAX(salary) AS max_salary
FROM employees
GROUP BY department, job_title;

결론:

  • 집계 함수 없이도 GROUP BY를 사용할 수 있지만, 보통은 데이터를 요약하거나 집계하기 위해 사용됩니다.
  • SELECT 절에 나오는 컬럼은 반드시 GROUP BY에 포함되거나 집계 함수로 처리되어야 합니다.

See also

Favorite site