
对于每个银行,我需要找到与其之前的日期(季度)相比具有更高资产的所有日期。(例如,一家银行(id: 123)在2002年3月31日拥有资产10,000,在2002年6月30日拥有资产20,000。然后,应记录银行id (123)、资产价值(20,000)和日期(6/30/02)。)报告输出表的前10个观察值。如何在一个查询中做到这一点?
发布于 2020-12-12 02:27:56
您将使用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 ;注意:这里假设所有银行在每个季度的利息中只有一行--银行没有重复的行,也没有跳过的季度。
https://stackoverflow.com/questions/65256706
复制相似问题