SQL数字/日期模式分析/时间跨度

问题描述 投票:0回答:1

我正在构建基于工作日分析的产品。基本上,对于不同的产品,数据将在一周中的不同日期填充到表中,并且我试图查看数据填充日期是否遵循特定模式,如果是,我想要COUNT连续天数在这种模式。

例如:

产品ABCD在过去六个月中每周(周三,周五和周五)(工作日的第2,4和6天)都有数据填充。

我想知道,数据已经连续多少天(星期一,星期三和星期五)。例如,如果在过去4周内,我们每周一,周三和周五都有更新,连续'天数'将是12(每周三天* 4)。

对于工作日数据(将每个产品与工作日数字与条目相匹配),我对这些数据进行了整形(如果需要脚本,我也可以发送,但是,我的大部分数据仍然是原始的,所以我需要帮助塑造它):

enter image description here

sql-server design-patterns datediff
1个回答
0
投票

这样的事情如何让你进入球场:

select Year,WeekNumber --Both DimDate values
    , Count(*) Ct
from dimdate DD  -- This is table that has every date in it
  join [Your Table] on DD.Date = [Your Table].LoadDate
where DD.DayNumberOfWeek in (2,4,6)
group by Year,WeekNumber
order by Year,WeekNumber

这将使您按周计算(您希望看到3)在周一,周三或周五发生负载的情况。

© www.soinside.com 2019 - 2024. All rights reserved.