본문 바로가기
MYSQL

MySQL - 행별 컬럼에서 가장 높은값 추출방법

by 리틀홍콩 2023. 1. 17.
728x90

GREATEST() 함수는 인수 목록의 가장 큰 값을 반환합니다.

SELECT GREATEST(column1, column2, column3, column4, column5);

 

❗ 단, 값 중에 NULL이 존재하면 NULL로 치환해서 돌려줍니다.

 

이걸 막기 위해선?

 

COALESCE로 감싸서 NULL일 경우 0으로 치환해서 사용

 👉 COALESCE() 함수는 목록에서 null이 아닌 첫 번째 값을 반환합니다.

SELECT id, 
   GREATEST(date1, 
     COALESCE(date2, 0),
     COALESCE(date3, 0)) as datemax 
FROM mytable

출처 : https://stackoverflow.com/questions/9831851/mysql-get-max-or-greatest-of-several-columns-but-with-null-fields

댓글