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

Przesuwane okno sql - znajdowanie maksymalnej wartości w przedziale

SELECT  *,
        (
        SELECT  SUM(value)
        FROM    mytable mi
        WHERE   mi.tstamp BETWEEN m.tstamp - '5 minute'::INTERVAL AND m.tstamp
        ) AS maxvalue
FROM    mytable m
ORDER BY
        maxvalue DESC
LIMIT   1

W PostgreSQL 11 i nowszych:

SELECT  SUM(value) OVER (ORDER BY tstamp RANGE '5 minute' PRECEDING) AS maxvalue,
        *
FROM    mytable m
ORDER BY
        maxvalue DESC
LIMIT   1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL 9.5 - aktualizacja nie działa podczas łączenia NULL z JSON

  2. Chcę przywrócić bazę danych z innym schematem

  3. Jak wyświetlić wszystkie nieprawidłowe obiekty w PostgresQL?

  4. PostgreSQL - dynamiczna wartość jako nazwa tabeli

  5. Łączenie instrukcji INSERT w modyfikującym dane CTE z wyrażeniem CASE