首页 > 解决方案 > SQL查询中按时间段进行日期组合的问题

问题描述

我的报告有问题。我的用户希望看到这样的内容:

按年、月、周分组的时间段内的所有天

我创建了一个简单的 CTE 查询:

Declare
    @date_value datetime = dateadd(year,-3,getdate()),
    @endtime datetime = getdate(),
    @interval int = 1; 

With cte(stime) as
(
    select
        @date_value
    union all
    select
        dateadd(day, @interval, stime)
    from cte
    where dateadd(day, @interval, stime) < @endtime 
)
select stime
from cte
OPTION (MAXRECURSION 0);

但是,如果我开始按年份分组,例如不能产生如上图所示的组和细节。

任何帮助都会很有用。

谢谢你。

标签: sql-servertsql

解决方案


推荐阅读