SQL - 每周分区

SQL -Partition On Weekly Basis

假设员工数据集要大得多。我们想在员工加入日期的每周范围内进行分区,但仅限于过去 6 个月

我们该怎么做?

这是预期的结果。

我们看到第 1 行和第 2 行属于同一周范围,并且被划分在一起。第 3 行是该周的唯一值,因此它本身就是 1。第 4 行和第 5 行属于同一周范围,因此它们是 2。而第 6 行不在 6 个月的范围内,因此 0.

select id,name,date, count(*) over (partition by Date)
 from employee

使用这个

select id,name,date, count(*) over (partition by DATEPART(week,Date))
 from employee