sql >> Databasteknik >  >> RDS >> Mysql

Gruppering i intervall på 5 minuter inom ett tidsintervall

Detta fungerar med varje intervall.

PostgreSQL

SELECT
    TIMESTAMP WITH TIME ZONE 'epoch' +
    INTERVAL '1 second' * round(extract('epoch' from timestamp) / 300) * 300 as timestamp,
    name,
    count(b.name)
FROM time a, id 
WHERE …
GROUP BY 
round(extract('epoch' from timestamp) / 300), name


MySQL

SELECT
    timestamp,  -- not sure about that
    name,
    count(b.name)
FROM time a, id 
WHERE …
GROUP BY 
UNIX_TIMESTAMP(timestamp) DIV 300, name


  1. Uppgradera din databas till PostgreSQL version 10 - Vad du bör veta

  2. Uppgradering till PostgreSQL 11 med logisk replikering

  3. Dela strängen i sql-servern

  4. Hur man skapar och manipulerar SQL-databaser med Python