按时间间隔分组

七人制

假设我有一张桌子

在此处输入图片说明

我如何创建一个像这样的表

在此处输入图片说明

在其中创建时间间隔为1秒的组。

先感谢您!

戈登·利诺夫(Gordon Linoff)

这是一个主意,但您需要一个数字表

select (m.startts + n.n - 1) as starttime,
       (m.startts + n.n) as enddtime,
       sum(case when vehicle_type = 'bus' then 1 else 0 end) as bus,
       sum(case when vehicle_type = 'car' then 1 else 0 end) as car
from (select min(Timestamp) as startts from table t) m cross join
     (select 1 as n union all select 2 union all select 3) n left join
     table t
     on t.timestamp >= m.startts + n.n - 1 and 
        t.timestamp < m.startts + n.n
group by m.startts + n.n;

由于采用了浮点算法,因此有点危险,但它可能会满足您的目的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章