2017-02-13 5 views
0

У меня есть результирующий набор, как показано ниже, и использую функцию ROW_NUMBER(), чтобы определить, когда происходит изменение значения.ROW_NUMBER restart on duplicate value

 
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 еще раз, получают ROW_NUMBER из 4 и 5, продолжая с того места, где было остановлено предыдущее ROW_NUMBER из 10.

Для моих целей мне нужен второй набор из 10 секунд, чтобы снова перезапустить ROW_NUMBER с 1 и 2.

Как достичь этой цели?

+0

Есть ли другие столбцы для работы с результатом? В чем разница между первым набором из 10 и вторым? – Diane

+0

Здесь нет других столбцов. Я пытаюсь отслеживать каждый раз, когда происходит изменение значения. На самом деле для меня не имеет значения, что такое Value, мне просто нужно сбросить ROW_NUMBER всякий раз, когда есть какие-либо изменения. – Cindy

ответ

0

Попытка использования LAG() для обнаружения изменения из строки до и только выбора изменений.