我想试试过去30天没有记录的记录。我试过,我也得到了记录,但是,记录显示从数据库谁登录前30天。但我想显示,从当前日期算起的最后30天内,谁没有登录,我可以禁用它们。
我尝试下面的sql查询
select distinct CmsUserLogTime.UserId
from CmsUserLogTime
right join CmsUser on CmsUserLogTime.UserId = CmsUser.Id
where CmsUserLogTime.LoginLogoutTime <= DateAdd(Day, -30, GetDate())
order by 1 asc
我只想比较一下从当前日期到最后30天,这样我就可以得到记录了。
谢谢。
2条答案
按热度按时间bbuxkriu1#
在where子句中使用dateadd:
...
你也可以用缩写d或dd代替day。
iezvtpos2#
使用
NOT IN
```select
CmsUserLogTime.UserId
from CmsUserLogTime
inner join CmsUser on CmsUserLogTime.UserId = CmsUser.Id
where CmsUserLogTime.UserId in (select UserID from CmsUserLogTime group by UserID having max(LoginLogoutTime) <= dateadd(day,-30,getdate()))