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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL数字/日期模式分析/时间跨度相关的知识,希望对你有一定的参考价值。

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

例如:

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

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

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

enter image description here

答案

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

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)在周一,周三或周五发生负载的情况。

以上是关于SQL数字/日期模式分析/时间跨度的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在 SQL 中将连续数据分组为单个日期跨度?

SQL 生成表,显示定义的事件集之间的日期跨度

sql 日期转换代码片段 - Dato,120,konvertere

从 T-SQL 中的周数获取日期

根据大致时间跨度计算大致日期

ms-sql 如何查询开始时间与结束时间之间的数据?