sql >> Databáze >  >> RDS >> PostgreSQL

Vyberte poslední denní nenulovou hodnotu s časovým pásmem

Zkuste toto:

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;

Používá DISTINCT ON zachovat pouze první řádek pro každou kombinaci hive a den. Abychom se ujistili, že první řádek, který uchováváme, je také nejnovější, navíc třídíme v obráceném chronologickém pořadí.




  1. Existuje v PostgreSQL něco jako funkce zip(), která kombinuje dvě pole?

  2. sečíst dva řádky a seřadit podle data / celkem

  3. Automatizace bezpečnostních auditů pro PostgreSQL

  4. Automatizujte MySQLdump do místního počítače (Windows)