EunsooD

MySQL CASE WHEN TEHN 본문

STUDY

MySQL CASE WHEN TEHN

EunsooD 2020. 10. 29. 14:22
반응형

MySQL Query를 하다보면

IF문을 쓸 때가 있는데

 

SQL에서는 IF문 보다는 CASE문이 유용한 경우가 많다.

 

CASE는 WHEN 조건을 충족하면 THEN을 출력한다.

WHEN 조건에 AND 또는 OR도 만족하며,

WHEN은 순차적으로 비교하다가

조건을 충족하면 하위의 WHEN을 참조하지 않고, 빠져나간다.

 

모든 조건을 충족하지 않으면 ELSE를 출력한다.

예제는 아래와 같다. (코드 수정이라 꼭 맞지는 않음.)

SELECT
	PR, 
	count(PR), 
    sum(RK),
    sum( 
        CASE
			WHEN RK = 1 AND relation = 0
				THEN 100
			WHEN RK = 2
				THEN 80
			ELSE 0
		END
	) AS RANK_P
from c_table
GROUP BY PR
HAVING count(PR)>100 
ORDER BY RANK_P DESC;

 

 

반응형
Comments