我有一个只有 2个 字段的表格:NAV_Date和NetAssetValue。
NAV_Date
NetAssetValue
NAV_Date是一个季度的 最后 一天。
+----------+--------------+ |NAV_Date |NetAssetValue | +----------+--------------+ |12/31/2012| $4,000| +----------+--------------+ |03/31/2013| $5,000| +----------+--------------+
我正在尝试编写一个查询,该查询从以前的查询中减去最近的查询。当前,我的查询只是选择表中的所有值。我知道要执行此操作,每次都必须检索以前的记录,但是我不确定该怎么做。
最终,我将使用((CurrentValue/ PreviousValue)-1)并将值存储为百分比以返回差额。
CurrentValue
PreviousValue
我还将针对年度值执行此操作。如果有人做过类似的事情或为我起步提供了线索,是否有人举个例子?
我问的原因是因为我搜索了一个解决方案,但是找不到没有自动编号或ID字段的任何有用示例。
您可以使用相关子查询来执行此操作:
select NAV_date, NAV_value, (NAV_value / prev_value) - 1 from (select t.*, (select top 1 NAV_value from YOURTABLENAMEGOESHERE as t2 where t2.NAV_date < t.NAV_date order by t2.NAV_date desc ) as prev_value from YOURTABLENAMEGOESHERE as t ) as t