2016-10-13 3 views
-3

Столбец имеет некоторые отрицательные значения и некоторые положительные значения. Требуется найти сумму отрицательных чисел и сумму положительных чисел в двух отдельных столбцах.Найдите сумму отрицательных чисел и сумму положительных чисел

Заранее спасибо.

ответ

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

Thanks @Gordon Linoff. –

+0

Пожалуйста, вы можете сказать мне, как сделать ограничение validation.What является запрос for.Thanks заранее. –

+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

Когда я выполнения вашего запроса он дает ошибку, как: Ошибка в строке 2: ORA-00932: несовместимые типы данных: ожидаемый 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; 

Thanks