Hola Antonio y Juan,
Les explico un poco más, yo envío desde un dispositivo el siguiente registro:
<timestamp> <device ID > <errorcode>
solamente tres campos donde se registra un error perteneciente a un
device id, el timestamp es automático de postgresql.
Entonces yo necesito un sql que me calcule el tiempo en que tardo cada
error en cambiar. Es decir, cuanto tiempo estuvo en error 1, cuanto en
error 2, etc.
Saludos.
Anthony Sotolongo <asotolo...@gmail.com> escribió:
Cierto Juan..., por algun motivo interpreté que hacia update de
atributo Estado
Saludos
On 3/5/21 9:49 AM, Juan José Santamaría Flecha wrote:
On Fri, Mar 5, 2021 at 4:29 AM Anthony Sotolongo
<asotolo...@gmail.com <mailto:asotolo...@gmail.com>> wrote:
Hola, si en el atributo Time guardas el momento(timestamp) en que
cambió
de estado, puedes implementar un mecanismo de trigger que
registre, el
cambio de estado y el tiempo que estuvo, en otra tabla, o también
puedes implementar algun otro mecanismo de versionado de registros y
calcular la diferencia de tiempo.
> Existe algún sql donde yo pueda ver cuanto tiempo tiene cada
valor? Es
> decir, cuanto tiempo estuvo en 0 hasta pasar a 1, cuanto a 1 hasta
> pasar a 0.
Juraría que la información que quieres sacar es:
select
Dispositivo,
Time,
Estado,
coalesce(Time - lag(Time) over(partition by Dispositivo order by
Time), '0 day'::interval) as cambio
from tabla_iot;
Un saludo,
Juan José Santamaría Flecha