SELECT记录不是昨天

时间:2015-05-10 19:12:35

标签: sql-server tsql

我有以下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的表达式,但没有一个有效。 有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

尝试将此条件添加到cte:and datediff(day, date, getDate()) >= 2

相关问题