我有以下CTE
;
WITH cte
AS
(
select t.UserId, t.Date
from (select
Date
, UserId
, row_number() over(partition by UserId order by Date desc) as RowNumber
from dbo.Income_Expenses) as t
where t.RowNumber = 1
)
如果我对其进行选择,我将得到以下结果:
Date UserId RowNumber
2015-05-10 00:00:00.000 6 1
2015-05-08 00:00:00.000 7 1
基本上我得到了每个用户插入的最后一条记录。
现在,当我在CTE上做出选择时,我想获得比前天更早的记录。 I.E.今天是5月10日;我想要5月8日以后的所有记录。 (8日,7日等,但不是9日和10日)。
所以我尝试了一些带有DATEADD,DATEDIFF的表达式,但没有一个有效。 有人能帮助我吗?
答案 0 :(得分:1)
尝试将此条件添加到cte:and datediff(day, date, getDate()) >= 2