SELECT ID,
CASE WHEN rank_size <= total_count*0.25 THEN 'CRITICAL'
WHEN rank_size <= total_count*0.50 THEN 'HIGH'
WHEN rank_size <= total_count*0.75 THEN 'MEDIUM'
ELSE 'LOW'
END AS COLONY_NAME
FROM (
SELECT ID,
RANK() OVER (ORDER BY SIZE_OF_COLONY DESC) AS rank_size,
(SELECT COUNT(*) FROM ECOLI_DATA) AS total_count
FROM ECOLI_DATA
) AS ECOLI_DATA
ORDER BY ID ASC;
4. QUARTER(date) 분기 함수
SELECT QUARTER("2017-06-15") -> 2
QUARTER() 함수는 주어진 날짜 값(1에서 4 사이의 숫자)에 대한 분기를 반환합니다.
// NULL 처리 상황
SELECT COALESCE(Column명1, Column명1이 NULL인 경우 대체할 값)
FROM 테이블명
// 배타적 OR 관계 열
// Column1 ~ 4 중 NULL이 아닌 첫 번째 Column을 출력
SELECT COALESCE(Column명1, Column명2, Column명3, Column명4)
FROM 테이블명
Example
// NAME Column의 값이 NULL인 경우 다음 표현식으로 넘어간다.
// 다음 표현식인 "No name"이 Null이 아니므로 "No name"을 출력.
SELECT COALESCE(NAME, "No name")
FROM ANIMAL_INS