sql >> Database >  >> RDS >> PostgreSQL

Selecteer de laatste dagelijkse niet-nulwaarde met tijdzone

Probeer deze:

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;

Het gebruikt DISTINCT ON om alleen de eerste rij te behouden voor elke combinatie van hive en dag. Om ervoor te zorgen dat de eerste rij die we bewaren ook de laatste is, sorteren we bovendien in omgekeerde chronologische volgorde.




  1. Logbestand van Postgres bevat:ontbrekend stuknummer 0 voor toastwaarde 815441 in pg_toast_2619

  2. Detecteer dubbele items in recursieve CTE

  3. Hoe te controleren of een variabele NULL is en deze vervolgens in te stellen met een MySQL-opgeslagen procedure?

  4. Spring Boot Query-annotatie met nativeQuery werkt niet in Postgresql