본문 바로가기

프로그램/ORACLE

오라클 컬럼 숫자 세는 쿼리문

반응형

오라클 컬럼 조건에 따라서 숫자 세는 쿼리문

방법은 크게 DECODE, CASE WHEN 절 을 사용할 수 있는데요.

조건이 간단하면 DECODE 조건이 복잡하면 CASE WHEN 절을 사용하시면 됩니다.

1. DECODE 사용법 흔히아는 DECODE 문법에 SUM, COUNT 을 해주면 됨

SELECT SUM(DECODE(컬럼명, 조건, 1, 0) AS COL1 FROM 테이블명 ;

SELECT COUNT(DECODE(컬럼명, 조건, 1, 0)) AS COL1

, SUM(DECODE(컬럼명, 조건, 1, 0)) AS COL2 FROM 테이블명 ;

--> 다른 컬럼을 추가로 조회하려면 SUM, COUNT 함수를 사용 중이여서 group by 를 사용해야 됩니다. 아니면 상황에 맞게 다른 함수를 이용하시면 됩니다.

SELECT SUM(DECODE(컬럼명, 조건, 1, 0)), 컬럼명1 FROM 테이블명

GROUP BY 컬럼명1;

 

 

반응형

2. CASE WHEN 절 사용도 우리가 아는 문법을 그대로 사용하고 SUM, COUNT 을 해주면 됨

SELECT SUM( CASE WHEN 컬럼명 = 조건 THEN 1 ELSE 0 END) AS COL1

FROM 테이블명 ;

SELECT SUM( CASE WHEN 컬럼명 = 조건 THEN 1 ELSE 0 END) AS COL1

, COUNT( CASE WHEN 컬럼명1 = 조건 THEN 1 ELSE 0 END) AS COL2

FROM 테이블명 ;

--> DECODE와 마찬가지로 다른 컬럼을 추가로 조회하려면 SUM, COUNT 함수를 사용 중이여서 group by 를 사용해야 됩니다. 아니면 상황에 맞게 다른 함수를 이용하시면 됩니다.

 

 

반응형