sql >> Database teknologi >  >> RDS >> PostgreSQL

sql glidende vindue - finde max værdi over interval

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

I PostgreSQL 11 og nyere:

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



  1. mysql timediff til timer

  2. MySQL / MariaDB accepterer ikke JSON-format? Kan ikke oprette database

  3. Brug af PHP MYSQLi hvordan man kun får debitorer og kun kreditorer administreret med action_type DR og CR

  4. Hvordan bruger man GROUP BY til at sammenkæde strenge i SQL Server?