SELECT date_trunc('hour', date1) AS hour_stump
, (extract(minute FROM date1)::int / 5) AS min5_slot
, count(*)
FROM table1
GROUP BY 1, 2
ORDER BY 1, 2;
Můžete GROUP BY dva sloupce:časové razítko zkrácené na hodinu a 5minutový úsek.
Příklad vytvoří sloty 0 - 11 . Přidejte 1 pokud dáváte přednost 1 - 12 .
Přenesl jsem výsledek extract() na celé číslo, tedy dělení / 5 zkracuje zlomkové číslice. Výsledek:
minuta 0 - 4 -> úsek 0
minuta 5 - 9 -> úsek 1
atd.
Tento dotaz vrací pouze hodnoty pro ty 5minutové bloky, kde jsou hodnoty nalezeny. Pokud chcete hodnotu pro každý slot nebo chcete-li průběžný součet více než 5minutové úseky, zvažte tuto související odpověď:
- PostgreSQL:průběžný počet řádků pro dotaz „po minutách“