본문으로 바로가기

[MySQL] MAX(), MIN() 함수 사용 시 조건 추가

category 코딩/SQL_Query 2023. 6. 29. 18:02

MAX(), MIN() 함수는 각각 최대값과 최소값을 읽어오는 기능을 한다.

그런데 가끔 이 최대/최소값에도 조건을 주고 싶을 때가 있다.

 

  • 최대(MAX)이지만 100은 아닌 값
  • 최소(MIN)이지만 10은 아닌 값
 
이 경우 UNION 을 사용하거나 self join 을 하라는 등의 의견이 있었으나, 쿼리가 너무 길어지고 아래처럼 간단한 방법이 있다

 

SELECT MAX(NULLIF(step, 100)) AS max_step, MIN(NULLIF(step, 10)) AS min_step

조건 외 다른 값이 존재하지 않으면 NULL 을 반환한다.