오라클 컬럼 조건에 따라서 숫자 세는 쿼리문
방법은 크게 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 를 사용해야 됩니다. 아니면 상황에 맞게 다른 함수를 이용하시면 됩니다.
'프로그램 > ORACLE' 카테고리의 다른 글
ORA-01810: 형식 코드가 두번 나타났습니다 (0) | 2024.12.12 |
---|---|
ORA-00932: 일관성 없는 데이터 유형: -이(가) 필요하지만 CLOB임 (0) | 2024.05.30 |
오라클 timestamp insert (0) | 2019.04.09 |
데이터를 비율 컬럼의 합계를 1로 업데이트하는 쿼리 (0) | 2018.07.10 |
오라클 월별 주차 쿼리 (0) | 2017.10.25 |