【发布时间】:2019-08-30 15:12:18
【问题描述】:
我需要根据分数 1 或 0 显示一个新序列列值。
MonthlyDate Score New Sequence
----------- ------ ----------
2019-08-01 1 0
2019-08-02 0 1
2019-08-03 0 2
2019-08-04 0 3
2019-08-05 1 0
2019-08-06 0 1
2019-08-07 0 2
2019-08-08 0 3
我正在尝试根据新的序列值在我的项目中实现计算。
我尝试过 sum(score) over (Order By Date rows unbounded before)
Case when Score = 1
THEN 0
ELSE (CASE WHEN LAG(Score) OVER (ORDER BY MonthlyDate) = 0
THEN 1
ELSE (SUM(Score) over (Order by MonthlyDate rows unbounded preceding))
END)
END as NewSequence
【问题讨论】:
-
你为什么尝试
SUM(SCORE)?Score是 0。一堆零的和将是零。 -
这是我最糟糕的部分,我不会那样做。请看我的实际要求。
-
所以当 score=1 时新序列重置为 0?
-
@Jamiec,答案是肯定的。
标签: sql sql-server