Разных между числовыми рядами
Привет ребята,
Я остановился на одном интересном вопросе.
Я не могу придумать, как найти разницу между рядами.
Задача:
1)для каждого 'id_a' найдите последние 2 строки, где 'amount' <> 0
2)найти разницу между "сумма" этой строки
Например Ресул должен быть таким:
name | amount | id_a | difference Konchita | 10 | 1 | 0 Bla | 10 | 1 | 0 Evlampiy | 1 | 4 | -9 Zyzia | 10 | 4 | -9 ... | ... | ... | ...
Я пытался сделать это через функцию windows, но еще больше запутался
Пример таблицы:
create table b( id_b int not null primary key, name nvarchar (10) not null, [date] date not null, [amount] numeric null, id_a int not null foreign key references a(id_a) --it is the foreigh key from another table but it does not matter. ) insert into b(id_b,name,[date],[amount],id_a) values (1,'Akakiy','2019-03-03','2',1), (2,'Traktoe','2019-03-03','60',2), (3,'Himalay','2018-02-02','50',3), (4,'Evlampiy','2018-02-02','1',4), (5,'Zyzia','2018-02-02','10',4), (6,'Borzyn','2018-02-02','100',2), (7,'Konchita','2018-02-03','10',1), (8,'Bycia','2018-02-03','0',1), (9,'Masik','2018-02-03','0',4), (10,'Bla','2018-02-03','10',1);
Что я уже пробовал:
Я пытался сделать это через функцию windows, но еще больше запутался