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 을 반환한다.
'코딩 > SQL_Query' 카테고리의 다른 글
MySQL / JS / PHP - ROUND, 반올림, 부가세, 천 단위 (0) | 2023.08.30 |
---|---|
MySQL 숫자만 영문만 한글만 추출 (0) | 2023.06.30 |
[MSSQL] CONVERT 시 DATETIME FORMAT 지정 (LIKE) (0) | 2023.05.19 |
mysql - max / min group by 주의할 점 (0) | 2023.04.10 |
MySQL - SELECT 결과로 UPDATE, JOIN 하여 UPDATE (0) | 2023.02.16 |