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

SQL Server MAX 함수 사용법 – 그룹 내 최댓값 조회하기

이 글에서는 SQL Server에서 MAX 함수를 사용해 집합(set) 내 최댓값을 찾는 방법을 예제와 함께 자세히 살펴보겠습니다.

MAX 함수란?

SQL Server의 MAX 함수는 집계 함수(Aggregate Function) 중 하나로, 지정된 그룹 내에서 가장 큰 값을 반환합니다. 숫자형 데이터뿐 아니라 날짜, 문자열에도 사용할 수 있으며, 계산 과정에서 NULL 값은 자동으로 제외됩니다.

문법(Syntax)

SQL Server에서 MAX 함수를 사용할 때의 기본 문법은 다음과 같습니다.

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

매개변수 설명:

  1. cot(열): 최댓값을 구하고자 하는 열, 계산식 또는 표현식입니다.
  2. bang(테이블): 레코드를 가져올 테이블입니다. FROM 절에는 반드시 하나 이상의 테이블이 포함되어야 합니다.
  3. dieukien(조건): 선택 사항입니다. 레코드가 조회되기 위해 충족해야 하는 조건을 지정합니다.

참고 사항:

  • MAX 함수는 SQL Server 2017, 2016, 2014, 2012, 2008 R2, 2008, 2005 등 대부분의 버전에서 사용할 수 있습니다.

예제로 배우는 MAX 함수

실제 동작 방식을 이해하기 위해 몇 가지 예제를 살펴보겠습니다. 먼저 아래와 같은 데이터 테이블이 있다고 가정합니다.

SQL Server MAX 함수 사용법 – 그룹 내 최댓값 조회하기

예제 1: 테이블에서 게시물 수의 최댓값 찾기

SELECT MAX(Sobai)
FROM Quantrimang
WHERE Sobai < 200;

-- 결과: 122

이 예제는 Quantrimang 테이블에서 게시물 수(Sobai)가 200 미만인 레코드들 중 가장 큰 값을 조회합니다. 조건에 맞는 여러 행 중에서 최댓값인 122가 반환되는 것을 확인할 수 있습니다.

예제 2: GROUP BY와 함께 사용하기

다음 예제는 대분류(Chuyenmuclon)별로 레코드를 묶은 뒤, 각 그룹에서 가장 많은 게시물 수를 구하는 방법입니다.

SELECT Chuyenmuclon, MAX(Sobai) AS 'So bai nhieu nhat'
FROM Quantrimang
GROUP BY Chuyenmuclon;

-- 결과:
-- Chuyenmuclon      So bai nhieu nhat
-- Laptrinh          122
-- Mang xa hoi       165
-- Trinh duyet web   94

GROUP BY 절을 함께 사용하면 전체 데이터가 아닌 그룹별 최댓값을 얻을 수 있습니다. 위 결과에서 볼 수 있듯이, 각 대분류(Laptrinh, Mang xa hoi, Trinh duyet web)마다 해당 그룹의 최대 게시물 수가 출력됩니다.

정리

MAX 함수는 단독으로 사용하면 전체 데이터의 최댓값을, WHERE 절과 함께 사용하면 조건에 맞는 범위의 최댓값을, GROUP BY 절과 함께 사용하면 그룹별 최댓값을 손쉽게 구할 수 있습니다. 실무에서 통계 조회나 리포트 작성 시 매우 유용하게 활용되는 함수이므로, MIN·AVG·SUM 같은 다른 집계 함수와 함께 익혀두면 좋습니다.