PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wybierz ostatnią dzienną wartość nie zerową ze strefą czasową

Wypróbuj ten:

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;

Używa DISTINCT ON aby zachować tylko pierwszy wiersz dla każdej kombinacji hive i dzień. Aby mieć pewność, że pierwszy zachowany wiersz jest również najnowszym, dodatkowo sortujemy w odwrotnej kolejności chronologicznej.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transakcje zagnieżdżone w postgresql 8.2?

  2. Eksportuj tylko widoki w Postgres

  3. Możliwość tworzenia bazy danych postgres w wierszu poleceń, ale nie w skrypcie bash

  4. Jak ustawić pole bazy danych dopuszczające wartość null na NULL za pomocą typeorm?

  5. Lewe sprzężenie zewnętrzne działające jak sprzężenie wewnętrzne