首页 > 解决方案 > SQL Server:基于非独特列创建序列列

问题描述

我不确定我问这个问题是否正确,但希望我能解释得足够好。我有一个包含日期、值和 WeekEndDate 列的表。我想创建一个序列列,计算 1-13 的不同周数,每 13 周循环一次。

我附上了我正在尝试创建的输出的一个小样本。这甚至可能吗?

所需的表输出

标签: sqlsql-servertsql

解决方案


使用dense_rank()和一些算术:

select t.*,
       ((dense_rank() over (order by weekEnd) - 1) % 13) + 1
from t;

推荐阅读