我正在尝试获取一个查询,以基于TimeStamp从SQL中获取前84个条目。这表示价值12周的数据(每日值)。
我们通过以下方式得到它:
SELECT TOP (84) TimeStamp, Value
FROM Table
Order by TimeStamp DESC
但是,我试图与前一年保持相同的范围。
因此,过去12周将是2019-12-20-2020-03-06。我需要查询才能给我2018-12-20-2019-03-06。
查询始终基于时间戳记的前86行。
无法对其进行硬编码,因为它依赖于每周一次的Excel更新来填充数据。
我尝试摆弄DATEADD(year,-1,TimeStamp)无济于事。
因为目的是获取最后84天的数据,所以我认为通过过滤可以更简单地完成此操作。
您当前的查询,使用过滤器而不是TOP
。
select timestamp, value
from table
where timestamp
between dateadd(day, -84, cast(getdate() as date))
and cast(getdate() as date)
order by timestamp desc
去年:
select timestamp, value
from table
where timestamp
between dateadd(year, -1, dateadd(day, -84, cast(getdate() as date)))
and dateadd(year, -1, cast(getdate() as date))
order by timestamp desc