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

时间:2018-03-05 20:52:54

标签: sql-server design-patterns datediff

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

例如:

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

我想知道,连续几天(星期一,星期三和星期五)填充了数据。例如,如果在过去的4周内,我们每周一,周三和周五都有更新,连续“天”的数量是多少。将是12(每周三天* 4)。

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

enter image description here

1 个答案:

答案 0 :(得分: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)在周一,周三或周五发生负荷的情况。