ROW_NUMBER 重复值重新启动

ROW_NUMBER restart on duplicate value

我有一个如下所示的结果集,我正在使用 ROW_NUMBER() 函数来确定值何时发生变化。

Date     |  Value  |  RowNumber
2/13/17  |  10     |  1
2/13/17  |  10     |  2
2/13/17  |  10     |  3
2/13/17  |  11     |  1
2/13/17  |  11     |  2
2/13/17  |  10     |  4
2/13/17  |  10     |  5

但是,这是我的问题。

最后 2 行的值再次为 10,收到 4 和 5 的 ROW_NUMBER,从前一个 10 的 ROW_NUMBER 停止的地方继续。

出于我的目的,我需要第二组 10 来重新启动 ROW_NUMBER 和 1 和 2。

我怎样才能实现这个目标?

尝试使用 LAG() 检测更改之前行的更改,并且仅检测 select 更改。