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
假设员工数据集要大得多。我们想在员工加入日期的每周范围内进行分区,但仅限于过去 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