By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table tbl
(
[date] date,
[debet] decimal(12,2)
);
insert into tbl values
('2022-07-15', 57190.33),
('2022-07-14', 815616516.00),
('2022-07-15', 40866.67),
('2022-07-14', 1221510.00);
4 rows affected
select [date],
sum_act = sum(case when rn = 1 then [debet] else 0 end),
sum_prev = sum(case when rn = 2 then [debet] else 0 end),
diff = sum(case when rn = 1 then [debet] else 0 end)
- sum(case when rn = 2 then [debet] else 0 end)
from
(
select *, rn = dense_rank() over (order by [date] desc)
from tbl
) t
where rn <= 2
group by [date]
date | sum_act | sum_prev | diff |
---|---|---|---|
2022-07-14 | 0.00 | 816838026.00 | -816838026.00 |
2022-07-15 | 98057.00 | 0.00 | 98057.00 |