【发布时间】:2020-09-28 15:29:54
【问题描述】:
我必须在 sql server 中查询我必须为每个 id 找到它的卷,这样我们就有每个 id 的最后 1 年日期和它的卷。
例如下面是我的数据,
对于每个 id,我需要从我们有该 id 条目的时间开始查询最近 1 年的交易,正如您从 id 1 的 sn-p 中看到的那样,我们的最新日期为 2020 年 7 月 31 日,所以我需要该ID的过去1年条目从该日期开始,突出显示的条目是排除的,因为该日期距该ID的最近日期超过1年
同样,对于 ID 3,我们拥有从该特定 ID 的最新日期算起一年内的所有日期范围
我尝试使用以下查询,我可以获取每个 ID 的最新日期,但我不确定如何提取每个 ID 从最近日期到一年的所有日期,如果有人可以帮助我,我将不胜感激.
我使用的是 Microsoft sql server 需要在 sql server 中执行的查询,表名为 emp 并且有数百万个 id
Select *
From emp as t
inner join (
Select tm.id, max(tm.date_tran) as MaxDate
From emp tm
Group by tm.id
) tm on t.id = tm.id and t.date_tran = tm.MaxDate
【问题讨论】:
标签: sql sql-server datetime sum ssms