按照postgresql

时间:2018-03-16 11:02:45

标签: sql database postgresql

我一直试图找到这个查询的解决方案但是我从开始就试图计算每10分钟间隔买卖物品的数量

date_action ACTION 2018-03-16 00:00:00 bought 2018-03-16 00:03:00 sold 2018-03-16 00:04:00 bought
2018-03-16 00:27:00 sold
2018-03-16 00:29:00 sold

我试图得到的输出应该是那样的

time_interval ACTION count 2018-03-16 00:00:00 bought 2 2018-03-16 00:00:00 sold 1 2018-03-16 00:20:00 bought 1 2018-03-16 00:20:00 sold 2  我是新堆栈溢出所以我希望我的用法很明确

1 个答案:

答案 0 :(得分:0)

截断10分钟的间隔需要一些工作,但这里有一种方法:

select (date_trunc(date_action, 'hour') +
        (date_part('minute', date_action) / 6) * interval '10 minute'
       ) as time_interval,
       action, count(*)
from t
group by time_interval, action
order by time_interval, action;