Supponiamo che ho avuto questa seguente tabella in SQL Server:Query - Somma con condizioni nella clausola della partizione?
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
E quello che stavo cercando di ottenere (a parole) Woud essere: creare una nuova colonna, Conditional_Sum
= Somma delle ColC
per ogni valore in ColA
dove ColB = 1
e ColC > 0
Quindi, il risultato finale sarebbe stato (aggiunta in rownum per mostrare come ho ottenuto i valori):
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)
Quindi, il mio pseudo-SQL per questo sarebbe:
Sum(ColC) Over(Partition By ColA, ColB=1,ColC>0) as Conditional_Sum
Come posso ottenere questo tipo di risultato nel mio set di dati ??
Grazie !!!!!!
OMG - che è ** ** IMPRESSIONANTE - esattamente quello che stavo cercando per!! Non posso ancora accettare la risposta, ma lo farò al più presto! - ** GRAZIE !! ** –
@JohnBustos: Prego :-) –
PS - Grazie per la cattura su righe 7 + 9 somma - Ho aggiornato la domanda. Grazie ancora!!! –