반응형
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 별로 각각 지정해준 컬럼 값들 중 제일 큰 값, 제일 작은 값을 출력합니다.
반응형
'DEV > SQL' 카테고리의 다른 글
[PostgreSQL] 숫자, 날짜, 시간 데이터 생성하기 (generate_series) (0) | 2023.07.23 |
---|---|
[PostgreSQL] WITH 구문 사용하기 (공통 테이블 방식 : CTE) (0) | 2023.07.21 |
[PostgreSQL] INSERT, UPDATE, DELETE 실행 결과 조회 (RETURNING) (0) | 2023.07.19 |
MySql(MariaDB) / Oracle 에서 ROLLUP 사용하기 (0) | 2023.07.07 |
PostgreSQL Null값 치환 함수 COALESCE (Feat. Oracle NVL) (0) | 2023.07.06 |