Выберите строки, в которых значение столбца изменилось

Допустим, у меня есть следующая таблица:

Value    Time
0        15/06/2012 8:03:43 PM
1        15/06/2012 8:03:43 PM     *
1        15/06/2012 8:03:48 PM 
1        15/06/2012 8:03:53 PM
1        15/06/2012 8:03:58 PM     
2        15/06/2012 8:04:03 PM     *
2        15/06/2012 8:04:08 PM
3        15/06/2012 8:04:13 PM     *
3        15/06/2012 8:04:18 PM
3        15/06/2012 8:04:23 PM
2        15/06/2012 8:04:28 PM     *
2        15/06/2012 8:04:33 PM     

Как выбрать помеченные строки, то есть гдеValue изменилось? По сути, я пытаюсь найти время, когдаValue изменился, поэтому я могу делать другие запросы на основе этих временных интервалов. Решение не должно зависеть от знанияValue или жеTime заблаговременно.

Мне кажется, что это не должно быть очень трудно (но, по-видимому, это достаточно сложно для меня!).

В настоящее время я использую SQL Server 2008, хотя у меня есть доступ к 2012 году, если новые окна / аналитические функции полезны.

Я попытался адаптировать решения здесьhttp://blog.sqlauthority.com/2011/11/24/sql-server-solution-to-puzzle-simulate-lead-and-lag-without-using-sql-server-2012-analytic-function/ но мой запрос не был выполнен через час! Я думаю, что соединения взрывают размер строки до чего-то неуправляемого (или я облажался).

Я могу решить эту проблему с помощью кода C # и нескольких вызовов БД, но кажется, что это можно сделать в табличной функции или SP, что было бы намного приятнее.

Кроме того, решение, которое работает только с увеличениемValue В порядке, если это проще.

Ответы на вопрос(3)

Ваш ответ на вопрос