반응형

PostgreSQL 에서 여러 컬럼 중 최대값, 최소값을 구하는 방법입니다.

 

row 간의 값을 비교하는 MAX, MIN 함수의 최대값, 최소값 구하는 방식이랑 다르게

여러 컬럼간의 값을 비교하여 컬럼 중 제일 큰 값, 작은 값을 구할 수 있습니다.

 

최대값 : GREATEST(컬럼1, 컬럼2, ..., 컬럼n)
최소값 : LEAST(컬럼1, 컬럼2, ..., 컬럼n)

 

위의 그림은 설명을 위한 테스트 테이블 입니다.

 

select 
	greatest(column1, column2, column3, column4, column5) greatest_value, -- 최대값
	least(column1, column2, column3, column4, column5) least_value -- 최소값
from 
	(select 
		1 column1,
		2 column2,
		3 column3,
		4 column4,
		1 column5
	from dual
	union all
	select
		2 column1,
		3 column2,
		3 column3,
		4 column4,
		5 column5
	from dual)A

 

위의 쿼리를 실행하면 아래와 같은 결과가 나오게 됩니다.

row 별로 각각 지정해준 컬럼 값들 중 제일 큰 값, 제일 작은 값을 출력합니다.

 

 

 

 

반응형

+ Recent posts