Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server COUNT 함수 완벽 가이드: 기본 문법부터 DISTINCT, GROUP BY 활용까지

이 글에서는 SQL Server에서 레코드 수를 집계하는 COUNT() 함수의 사용법을 구체적인 문법과 다양한 예제를 통해 자세히 소개합니다. 예제를 따라 하다 보면 함수의 동작 원리를 더욱 쉽게 이해하고 실무에 바로 적용할 수 있습니다.

COUNT 함수란?

SQL Server의 COUNT 함수는 데이터 테이블에 포함된 레코드(행)의 개수를 세는 데 사용되는 집계 함수입니다. 이때 열 값이 NULL인 행은 개수에서 제외된다는 점을 기억해야 합니다.

기본 문법

SQL Server에서 COUNT 함수를 사용하는 기본 문법은 다음과 같습니다.

SELECT COUNT(cot)
FROM bang
[WHERE dieukien];

매개변수 설명:

  1. cot(열): 개수를 세고자 하는 열 또는 계산식, 표현식을 지정합니다.
  2. bang(테이블): 레코드를 조회할 테이블입니다. FROM 절에는 반드시 하나 이상의 테이블이 있어야 합니다.
  3. dieukien(조건): 선택 사항으로, 조회할 레코드가 충족해야 하는 조건을 지정합니다.

참고 사항:

  • COUNT 함수는 SQL Server 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005 등 다양한 버전에서 사용할 수 있습니다.

예제로 배우는 COUNT 함수

다음과 같은 데이터 테이블이 있다고 가정하고 여러 예제를 살펴보겠습니다.

SQL Server COUNT 함수 완벽 가이드: 기본 문법부터 DISTINCT, GROUP BY 활용까지

예제 1: 테이블 내 카테고리 개수 세기

SELECT COUNT(*)
FROM Quantrimang
WHERE Sobai > 100;

-- 결과: 5

이 예제에서는 Quantrimang 테이블에서 Sobai(게시물 수) 값이 100보다 큰 카테고리가 몇 개인지 계산합니다. 조건을 만족하는 행이 총 5개이므로 결과는 5가 반환됩니다.

예제 2: DISTINCT와 함께 사용하기

DISTINCT 키워드와 COUNT를 함께 사용하면 중복된 값을 제거한 고유한 값의 개수를 셀 수 있습니다.

SELECT COUNT(DISTINCT Sobai)
FROM Quantrimang
WHERE Sobai > 100;

-- 결과: 4

DISTINCT 키워드를 사용했기 때문에 중복된 값은 한 번만 계산됩니다. 예제 데이터에서 '101'이라는 값이 두 번 나타나지만 한 번만 집계되므로, 최종 결과는 4가 됩니다.

예제 3: GROUP BY로 그룹별 개수 세기

GROUP BY 절을 활용하면 대분류별로 관련된 레코드 수를 한 번에 집계할 수 있습니다.

SELECT Chuyenmuclon, COUNT(Chuyenmuccon) AS "So luong"
FROM Quantrimang
GROUP BY Chuyenmuclon;

-- 결과:
-- Chuyenmuclon      So luong
-- Laptrinh          3
-- Mang xa hoi       2
-- Trinh duyet web   1

이처럼 GROUP BY를 사용하면 각 대분류(Chuyenmuclon)에 속한 소분류(Chuyenmuccon)의 개수를 그룹별로 정리해서 확인할 수 있어, 데이터 요약 및 리포트 작성에 매우 유용합니다.