Вы можете попробовать использовать LAG
оконную функцию с подзапросом.
Настройка схемы MS SQL Server 2017 :
create table [Transaction]([Date] date, usage int);
insert into [Transaction] values
('2017-01-01',1373),
('2017-01-02',1387),
('2017-01-03',1509),
('2017-01-04',1523),
('2017-01-05',1537);
Запрос 1 :
SELECT Date,
Usage,
DailyTotal,
(CASE WHEN LAG(Div,1,Div) OVER(ORDER BY Date) <> Div THEN 1 ELSE 0 END) div
FROM (
SELECT Date, Usage,
SUM(Usage) OVER(ORDER BY [Date]) AS DailyTotal,
CAST(SUM(Usage) OVER(ORDER BY [Date]) / 2000 AS INT) Div
FROM [Transaction]
)t1
Результаты
| Date | Usage | DailyTotal | div |
|------------|-------|------------|-----|
| 2017-01-01 | 1373 | 1373 | 0 |
| 2017-01-02 | 1387 | 2760 | 1 |
| 2017-01-03 | 1509 | 4269 | 1 |
| 2017-01-04 | 1523 | 5792 | 0 |
| 2017-01-05 | 1537 | 7329 | 1 |