Поиск банков с более высокими активами в предыдущем квартале SQL?

Для каждого банка мне нужно найти все даты с более высоким активом по сравнению с его предыдущими датами (квартал). (Например, банк (id: 123) имеет актив 10 000 на 31.03.02 и актив 20 000 на 30.06.02. Тогда идентификатор банка (123), стоимость актива (20 000) и дата (30.06.02). 10 наблюдения за выходной таблицей. Как я могу сделать это в одном запросе?

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
197
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы бы использовали lag():

select t.*
from (select t.*,
             lag(asset) over (partition by id order by date) as prev_asset
      from t
     ) t
where asset > prev_asset ;

Примечание. Это предполагает, что все банки имеют ровно одну строку для каждого интересующего квартала — для банка нет повторяющихся строк и нет пропущенных кварталов.

Другие вопросы по теме