Tenho uma tabela com o esquema a seguir e preciso definir uma consulta que possa agrupar dados com base em intervalos de tempo ( por exemplo, registros por minuto ) e, em seguida, fornecer a soma das alterações no SnapShotValue desde o grupo anterior. No momento, o SnapShotValue sempre aumenta, então eu só preciso da soma das diferenças. Alguém pode ajudar com uma consulta T-SQL do SQL Server que possa fazer isso? Estou aberto a alterar o esquema, mas é o que tenho atualmente.
Esquema
CaptureTime (datetime)
SnapShotValue (int)
Dados de amostra
1 Jan 2012 00:00:00, 100
1 Jan 2012 00:00:30, 125
1 Jan 2012 00:01:00, 200
1 Jan 2012 00:01:30, 300
1 Jan 2012 00:02:15, 400
1 Jan 2012 00:02:30, 425
1 Jan 2012 00:02:59, 500
Resultado da Consulta Desejada
1 Jan 2012 00:01:00, 225 -- Sum of all captured data changes up to the 1 minute mark
1 Jan 2012 00:02:00, 500 -- Sum of all captured data changes up to the 2 minute mark
1 Jan 2012 00:03:00, 125 -- Sum of all captured data changes up to the 3 minute mark
fonte
Estou um pouco confuso com o terceiro exemplo, é 1325? Com base nos requisitos de captura da soma dos valores de snapshot, a consulta abaixo deve ter o que você procura.
fonte
A seguir, é apresentada a tradução da resposta aceita no PostgreSQL (eu escolhi 1º de janeiro de 2000 como a data base. Altere-a para uma data anterior se seus dados forem mais antigos do que isso):
fonte