SQL Server/실기 정리

SQL Server 11강 - 그룹별 데이터 개수 집계 (GROUP BY + COUNT())

코딩하는냥이 2025. 5. 30. 12:40
반응형

이번 글에서는 GROUP BY와 함께 집계 함수 COUNT()를 사용하여, 각 그룹에 속한 행의 개수를 구하는 방법을 실습했습니다.
특정 조건별로 데이터 분포를 분석하거나, 분류별 수량을 파악할 때 매우 유용한 문법입니다.


📌 예제 코드

-- 각 sector별 기업 수를 계산
SELECT sector, COUNT(*) AS cnt 
FROM nasdaq_company 
GROUP BY sector;

-- sector와 industry 조합별 기업 수를 계산
SELECT sector, industry, COUNT(*) AS cnt 
FROM nasdaq_company 
GROUP BY sector, industry 
ORDER BY sector, industry;

💻 실행 결과 예시

위 쿼리는 nasdaq_company 테이블에서 각 그룹별로 몇 개의 행이 포함되어 있는지를 숫자로 보여줍니다.

예를 들어:

  • 첫 번째 쿼리는 sector가 "Technology", "Finance" 등으로 나뉘며, 각 부문에 몇 개의 기업이 속하는지를 계산합니다.
  • 두 번째 쿼리는 sector와 industry의 조합 기준으로 세분화하여, 더 정확한 분포 분석이 가능합니다.

💬 코드 설명

  • COUNT(*): 해당 그룹에 속한 전체 행의 개수를 계산
  • AS cnt: 결과 컬럼 이름을 cnt로 지정 (별칭 사용)
  • GROUP BY: 동일한 값을 가지는 행들을 하나의 그룹으로 묶음
  • ORDER BY: 결과를 sector와 industry 순으로 정렬

💡 포인트 정리

  • COUNT(*): 행의 개수를 세는 집계 함수
  • GROUP BY A: A 기준으로 그룹 묶기
  • GROUP BY A, B: A와 B 조합으로 그룹 묶기
  • ORDER BY: 결과를 정렬할 때 사용하며, GROUP BY와는 별개

📌 정리하자면

이번 강의에서는 GROUP BY와 COUNT()를 함께 사용하여, 각 그룹별 데이터 수를 집계하는 방법을 익혔습니다.
이 문법은 카테고리별 통계, 분류 수량 분석, 보고서 작성 등 실무에서 매우 자주 사용하는 핵심 기능입니다.