Üdv!
PostgreSQL-ben timestamp alapján szeretnék GROUP BY-olni a következő módon: adott egy timestamp mező másodperces felbontásban és a cél az lenne, hogy azok a sorok kerüljenek összevonásra, amelyek közül a min és a max közti időkülönbség nem nagyobb 1 percnél.
Tehát pl. a '2021-06-08 10:11:34' és a '2021-06-08 10:12:10' össze kell, hogy vonódjon. Addig megoldottam, hogy perces bontásban legyenek csoportosítva, de ez így nem az igazi, mivel 2 másodperc különbség miatt (változik a perc, egyiknél 0 perc 59 másoderc, másiknál 1 perc 01 másodperc) is külön csoportba kerülnek.
Jelenleg így néz ki:
SELECT
COUNT(*),
date_trunc('hour', datetime) + (
(
(
date_part('minute', datetime):: integer / 1 :: integer
) * 1 :: integer
) || ' minutes'
):: interval AS one_min_timestamp
FROM
table
GROUP BY
one_min_timestamp
ORDER BY
one_min_timestamp;
Van esetleg valami tippetek miként lehetne ezt továbbfejleszteni a fentebb felvázolt módon?