PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Изберете последната дневна не нулева стойност с часова зона

Опитайте това:

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;

Той използва DISTINCT ON за да запазите само първия ред за всяка комбинация от hive и ден. За да сме сигурни, че първият ред, който запазваме, е и най-новият, ние допълнително сортираме в обратен хронологичен ред.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Дизайн на база данни за създаване на таблици в движение

  2. Внедряване на постепенни клиентски актуализации с версии на редове в Postgres

  3. Как да показвате нулеви стойности при изпълнение на заявки в psql (PostgreSQL)

  4. Генериране на броя на отворените билети във времето, дадени дати на отваряне и затваряне

  5. Условна поръчка по