Danos un ejemplo de unos cuantos valores de la tabla y de la salida que
quieras que tenga tu consulta


El mar, 16 mar 2021 a las 15:40, <ocasca...@opensoftwarecr.com> escribió:

> 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
> >>
>
>

Reply via email to