메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Oracle (토론 | 기여)님의 2025년 5월 12일 (월) 13:06 판 (새 문서: 물론입니다! Oracle SQL에서 **그룹 함수(Group Functions)**는 여러 행(Row)의 값을 그룹으로 묶어 하나의 결과 값으로 요약할 때 사용하는 함수입니다. 주로 GROUP BY절과 함께 사용되며, **집계 함수(Aggregate Functions)**라고도 부릅니다. ⸻ ✅ Oracle의 주요 그룹 함수 종류 {| class="wikitable" |+ Oracle Group Function 종류 및 설명 ! 함수명 !! 설명 !! 예제 SQL !! 결과 예시 |- | COUNT() || 행 수...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

물론입니다! Oracle SQL에서 **그룹 함수(Group Functions)**는 여러 행(Row)의 값을 그룹으로 묶어 하나의 결과 값으로 요약할 때 사용하는 함수입니다. 주로 GROUP BY절과 함께 사용되며, **집계 함수(Aggregate Functions)**라고도 부릅니다.

✅ Oracle의 주요 그룹 함수 종류

Oracle Group Function 종류 및 설명
함수명 설명 예제 SQL 결과 예시
COUNT() 행 수를 셉니다 (NULL 제외) SELECT COUNT(*) FROM EMPLOYEE; 전체 직원 수
SUM() 숫자 컬럼의 합을 구합니다 SELECT SUM(SALARY) FROM EMPLOYEE; 전체 급여 합계
AVG() 평균 값을 계산합니다 SELECT AVG(SALARY) FROM EMPLOYEE; 평균 급여
MAX() 최댓값을 반환합니다 SELECT MAX(SALARY) FROM EMPLOYEE; 최고 급여
MIN() 최솟값을 반환합니다 SELECT MIN(SALARY) FROM EMPLOYEE; 최저 급여
STDDEV() 표준 편차를 구합니다 SELECT STDDEV(SALARY) FROM EMPLOYEE; 급여 분산도
VARIANCE() 분산을 구합니다 SELECT VARIANCE(SALARY) FROM EMPLOYEE; 급여 분산 값


✅ 기본 예제

SELECT COUNT(*) AS TOTAL_EMPLOYEES,

      SUM(SALARY) AS TOTAL_SALARY,
      AVG(SALARY) AS AVG_SALARY,
      MAX(SALARY) AS MAX_SALARY,
      MIN(SALARY) AS MIN_SALARY

FROM EMPLOYEE;

EMPLOYEE 테이블의 직원 수, 급여 합계, 평균, 최고/최저 급여를 한 번에 출력합니다.

✅ GROUP BY와 함께 사용하는 예제

SELECT DEPT_ID,

      COUNT(*) AS EMP_COUNT,
      AVG(SALARY) AS AVG_SALARY

FROM EMPLOYEE GROUP BY DEPT_ID;

부서별로 직원 수와 평균 급여를 계산합니다.

✅ HAVING 절로 그룹 조건 추가

WHERE는 행 필터링, HAVING은 그룹 필터링에 사용합니다.

SELECT DEPT_ID,

      COUNT(*) AS EMP_COUNT

FROM EMPLOYEE GROUP BY DEPT_ID HAVING COUNT(*) >= 5;

직원 수가 5명 이상인 부서만 조회합니다.

✅ 주의할 점 • NULL은 무시되는 함수가 많습니다 (COUNT(col), SUM(col), AVG(col) 등) • GROUP BY에서 사용되지 않은 컬럼은 SELECT에 단독으로 쓸 수 없습니다. • 단일 결과를 원할 경우 GROUP BY 없이 사용할 수 있습니다.

필요하시면 실무에서 자주 사용하는 그룹 함수 예제, 예를 들면 월별 매출 요약, 카테고리별 사용자 수, 평균 이상 매출 추출 같은 시나리오도 만들어드릴 수 있습니다.

어떤 용도로 사용하시려는지 알려주시면, 더 정확한 예제를 설계해드릴 수 있습니다. 도움이 더 필요하신가요? 💡