与标题中一样,我需要获取前5天(6-10天)的数据。我有3个参数:开始日期,结束日期,用户
我有如下创建日期的数据
Createdate
----------------
2019-11-01
2019-11-04
2019-11-05
2019-11-10
2019-11-21
2019-11-30
因此,如您在上面看到的,我们在前5天有3个日期,在6-10天有1个日期。
我用下面的查询
Select count(date)
from Data
Where cast(cdate as date) between cast(cdate as date)
and dateadd(day,5,cdate) Group by cdate
Expected results
-------------
Date First 5 6-10
---- ----- ----
2019-11-01 1
2019-11-04 1
2019-11-05 1
2019-11-10 0 1
但是我要获取所有数据,而不是前5天只有3天。请任何人帮忙
使用DATEADD方法尝试以下逻辑-
Select cdate
from Data
Where cdate >= DATEADD(DD,-5,GETDATE())
新查询:
SELECT * FROM data WHERE cdate >=
(
SELECT MIN(cdate)
FROM (
select DISTINCT TOP 5 cdate
from data
order by cdate DESC
)A
)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。