Предположим, у меня была эта следующая таблица в SQL Server:Запрос - сумма с условиями в разделе раздела?
ColA ColB ColC
A 1 100
A 0 -100
A 1 -100
A 0 100
A 1 100
A 1 -100
B 1 200
B 1 -200
B 1 200
C 0 300
C 1 -300
И то, что я искал, чтобы достичь (в словах) woud быть: Создать новую колонку, Conditional_Sum
= сумма ColC
для каждого значения в ColA
где ColB = 1
и ColC > 0
Таким образом, конечный результат будет (добавлен в RowNum, чтобы показать, как я получил значение):
Rownum ColA ColB ColC Conditional_Sum
1 A 1 100 200 (rows 1+5)
2 A 0 -100 200 (rows 1+5)
3 A 1 -100 200 (rows 1+5)
4 A 0 100 200 (rows 1+5)
5 A 1 100 200 (rows 1+5)
6 A 1 -100 200 (rows 1+5)
7 B 1 200 400 (rows 7+9)
8 B 1 -200 400 (rows 7+9)
9 B 1 200 400 (rows 7+9)
10 C 0 300 0 (no rows match)
11 C 1 -300 0 (no rows match)
Итак, мой псевдо-SQL для этого будет:
Sum(ColC) Over(Partition By ColA, ColB=1,ColC>0) as Conditional_Sum
Как я могу добиться подобного результата в моем наборе данных ??
Спасибо !!!!!!
OMG - это ** УДИВИТЕЛЬНЫЙ ** - то, что я искал для!! Я не могу принять ответ, но как только смогу! - ** СПАСИБО !! ** –
@JohnBustos: Добро пожаловать :-) –
PS - Спасибо за улов на строках 7 + 9 sum - я обновил вопрос. Еще раз спасибо!!! –