SQLite | SQLite 함수 | 컬럼 값의 최대값과 최소값 구하기 (max 함수, min 함수)

max 함수를 사용하면 지정한 컬럼에 저장된 최대 값을 구할 수 있다. 또한 min 함수를 사용하면 지정한 컬럼에 저장된 최소값을 구할 수 있다. 여기에서는 max 함수 및 min 함수의 사용법에 대해 설명한다.

max 함수 및 min 함수 사용법

max 함수는 값의 최대 값을 구하기 위해 사용한다. 형식은 다음과 같다.

max(컬럼명)

인수에 지정된 컬럼에 저장된 값 중 최대 값을 반환한다. GROUP BY 절을 사용하는 경우 그룹마다 최대 값을 반환한다.

min 함수는 값의 최소값을 얻기 위해 사용한다. 형식은 다음과 같다.

min(컬럼명)

인수에 지정된 컬럼에 저장된 값 중에 NULL 값을 제외한 최소의 값을 반환한다. GROUP BY 절을 사용하면 그룹마다 최소의 값을 반환해준다

두 함수 모두 지정된 컬럼에 NULL만 있는 경우에는 NULL을 반환한다.

그러면 실습으로 최대값과 최소값을 구해 보도록 하겠다. 먼저 다음과 같이 테이블을 만든다.

create table user (name text, point integer, gender text);
sqlite> create table user (name text, point integer, gender text);
sqlite> 

INSERT 문을 사용하여 다음과 같이 데이터를 추가한다.

insert into user values ('dekuma', 72, 'Man');
insert into user values ('kimkc', 94, 'Woman');
insert into user values ('araikuma', 58, 'Woman');
insert into user values ('happykuma', 82, 'Man');
sqlite> insert into user values ('dekuma', 72, 'Man');
sqlite> insert into user values ('kimkc', 94, 'Woman');
sqlite> insert into user values ('araikuma', 58, 'Woman');
sqlite> insert into user values ('happykuma', 82, 'Man');
sqlite> 

그러면 max 함수와 min 함수를 사용하여 point 컬럼 값의 최대 값과 최소값을 구한다.

select max(point), min(point) from user;
sqlite> select max(point), min(point) from user;
max(point)  min(point)
----------  ----------
NODATA      58        
sqlite> 

컬럼에 있는 값의 최대 값과 최소값을 구했다.

다음은 gender 컬럼마다 그룹화하여 최대 값과 최소값을 구한다.

select gender, max (point), min (point) from user group by gender;
sqlite> select gender, max (point), min (point) from user group by gender;
gender      max (point)  min (point)
----------  -----------  -----------
Man         82           72         
Woman       NODATA       58         
sqlite> 

GROUP BY 절을 사용하여 그룹화 한 경우에는 그룹 단위로 평균을 계산한다. 최대 값과 최소값을 그룹별로 구할 수 있었다. (Group By 절에 대해서는 “데이터를 그룹화하여 합계와 평균을 계산 (GROUP BY 절, HAVING 절)“를 참조한다.)




최종 수정 : 2019-11-13