У меня есть столбцы TransactionTime, Amount и ResetCountInd (0/1).
Цель состоит в том, чтобы получить промежуточный итог столбца Amount от одной строки ResetCountInd = 0 до следующей.
Я понимаю, что если бы у меня был столбец PartitionNumber, начиная нумерацию, где ResetCountInd = 0, оставаясь постоянным до следующего, я мог бы легко выполнить промежуточный итог с помощью оконных функций.
Я не понимаю, как получить этот столбец PartitionNumber. Помощь
Визуализация того, что я после. Белый у меня есть, желтый у меня нет - PartitionNumber, в частности:
Пример создания данных SQL:
CREATE TABLE mytable(
TransactionTime datetime NOT NULL PRIMARY KEY
,ResetCountInd BIT NOT NULL
,AddedAmount INTEGER NOT NULL
,PartitionNumber INTEGER NOT NULL
,RunningTotal INTEGER NOT NULL
);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 7:04 AM',0,0,1,0);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 9:14 AM',1,50310,1,50310);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 12:00 PM',1,276229,1,326539);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 1:35 PM',1,45389,1,371928);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 1:52 PM',0,0,2,0);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 3:35 PM',1,108629,2,108629);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 5:04 PM',1,19984,2,128613);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 5:44 PM',1,69338,2,197951);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 6:17 PM',1,126595,2,324546);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/12/16 10:59 PM',1,33720,2,358266);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/13/16 8:57 AM',1,45230,2,403496);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/13/16 11:00 AM',0,0,3,0);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/13/16 11:03 AM',1,155323,3,155323);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/13/16 11:09 AM',0,0,4,0);
INSERT INTO mytable(TransactionTime,ResetCountInd,AddedAmount,PartitionNumber,RunningTotal) VALUES ('1/13/16 12:59 PM',1,67333,4,67333);