sql >> Base de Datos >  >> RDS >> PostgreSQL

Seleccione el último valor diario no nulo con la zona horaria

Prueba este:

SELECT
    DISTINCT ON (hive, moment)
    *, DATE_TRUNC('day', instant AT TIME ZONE 'pst') AS moment
FROM dt_weight
ORDER BY hive, moment DESC, instant DESC;

Utiliza DISTINCT ON para mantener solo la primera fila para cada combinación de hive y dia Para asegurarnos de que la primera fila que mantenemos sea también la última, también clasificamos en orden cronológico inverso.