DB (데이터베이스)/Oracle (오라클)

[Oracle] oracle 특정 값 기준 계산하기 (SUMIF

뜽배 2024. 6. 17. 18:44
728x90
반응형


oracle에서 엑셀의 SUMIF 기능을 사용하고 싶을 때 case when문으로 작성하는 방법에 대해 알아보자

엑셀의 SUMIF는 범위 내에서 특정 조건에 해당하는 값만 더하는 함수이다.
예를들어 {1,2,3,4,5} 의 집합이 있다고 가정하자. 여기서 3보다 크거나 같은 수의 합을 구하는 것이 SUMIF함수이다.

oracle에서 sql문으로 작성하려면 case when과 sum을 적절히 섞어서 사용하면 된다.

예를들어 


위와 같이 test_a라는 테이블에 데이터가 있다고 가정하자.

SELECT 
	sum(CASE WHEN value >= 3 THEN value ELSE 0 END) AS positive,
	sum(CASE WHEN value < 3 THEN value ELSE 0 END) AS negative
FROM test_a;


위 처럼 sum과 case when 의 중첩으로 SUMIF와 동일한 효과를 낼 수 있다.

728x90
반응형