Como posso detectar e vincular alterações entre valores de linha em uma tabela SQL?
Eu tenho uma tabela que registra valores ao longo do tempo, semelhante ao seguinte:
RecordId Time Name
========================
1 10 Running
2 18 Running
3 21 Running
4 29 Walking
5 33 Walking
6 57 Running
7 66 Running
Depois de consultar essa tabela, preciso de um resultado semelhante ao seguinte:
FromTime ToTime Name
=========================
10 29 Running
29 57 Walking
57 NULL Running
Eu brinquei com algumas das funções agregadas (por exemplo, MIN, MAX, etc.), PARTITION e CTEs, mas não consigo encontrar a solução certa. Eu estou esperando que um guru de SQL possa me dar uma mão, ou pelo menos me apontar na direção certa. Existe uma maneira bastante simples de consultar isso (preferencialmente sem um cursor?)