2016-10-13 4 views

답변

2

그냥 case 사용 : 당신은 무엇을

select sum(case when val > 0 then val end) as pos_sum, 
     sum(case when val < 0 then val end) as neg_sum 
from t; 
+0

감사합니다. @Gordon Linoff. –

+0

제발 제약 조건 유효성 검사를하는 법을 가르쳐주세요. 질문은 무엇입니까? 미리 감사드립니다. –

+0

@GyanendraKumar. . . 다른 질문이 있으면 의견이 아닌 질문으로 질문하십시오. –

3

를 시도? 그냥 항상 도움이됩니다

select sum(case when some_number < 0 then some_number else 0 end) sum_neg, 
     sum(case when some_number > 0 then some_number else 0 end) sum_pos 
    from your_table 

을 원하는 것처럼 테이블 정의, 샘플 데이터, 당신은 이미 시도했다과 함께 예상되는 출력을 포함하지만, 소리가 난다. 그렇게하면 얻을 가능성이있는 답변이 크게 향상됩니다.

0

난 당신이 같은 오류를주고있다 쿼리를 실행할 때 : ORA-00932 : 2 호선에서 오류 일치하지 않는 데이터 유형 : 예상을 CHAR 내 논리 쿼리에서 번호

는 것과 같아야있어 :

select sum(case when val > 0 then val end) as pos_sum, 
     sum(case when val < 0 then val end) as neg_sum 
from t; 

감사합니다.

관련 문제