我需要获取两个日期之间的所有星期开始和结束日期(星期),然后运行一个查询,返回在每个星期中插入的记录数.
declare @sDate datetime,
@eDate datetime;
select @sDate = '2013-02-25',
@eDate = '2013-03-25';
--query to get all weeks between sDate and eDate
--query to return number of items inserted in each of the weeks returned
WEEK NoOfItems
-----------------------------------------
2013-02-25 5
2013-03-4 2
2013-03-11 7
Run Code Online (Sandbox Code Playgroud)
Tar*_*ryn 12
您可以使用递归CTE生成日期列表:
;with cte as
(
select @sDate StartDate,
DATEADD(wk, DATEDIFF(wk, 0, @sDate), 6) EndDate
union all
select dateadd(ww, 1, StartDate),
dateadd(ww, 1, EndDate)
from cte
where dateadd(ww, 1, StartDate)<= @eDate
)
select *
from cte
Run Code Online (Sandbox Code Playgroud)
然后您可以将其加入到您的表中,以返回其他详细信息.
| 归档时间: |
|
| 查看次数: |
9635 次 |
| 最近记录: |