0

我目前正在JasperReports Server中运行以下sql语句,以使用派生表恢复我的数据。

Select count(createddate) as ModulesCreatedDuringPastWeek, 
count(updateddate) as  ModulesUpdatedDuringPastWeek, 
createddate, 
updateddate 
from merchendisingmodule 
group by merchendisingmodule.createddate, merchendisingmodule.updateddate

但是,在对我的数据进行分组时,我只能按年、季度、月和日进行分组。但是,对于我的报告,我需要将数据分组,因此我想知道我需要在代码中添加什么来执行此操作。

4

1 回答 1

0
DATEADD(D,-DATEPART(weekday,createddate)+1,createddate)

我使用这种方法来防止一年中的转换问题(1 月的第一天和 12 月的最后几天的第 53 周,将相隔 360 天的日子组合在一起)。我使用一周的第一天,而不是周数。我可以使用这些日期进行分组。这也将确保每周有 7 天,而不是一年中的最后一周只有 3 或 4 天。

顺便说一句,在这个例子中,一周的第一天是星期天。

如果您的日期包括时间,请使用:

CAST(FLOOR(CAST(createddate AS FLOAT)) AS DATETIME)

而不是上述语法中的 createddate

于 2013-09-09T10:53:37.057 回答