我有许多物联网设备向我的Amazon Athena服务器发送数据,我创建了一个表来存储数据,该表包含两列: LocalTime表示物联网设备捕获其状态的时间,ServerTime表示数据到达服务器的时间(有时物联网设备没有网络连接)
我想要计算上周一段时间内(假设1小时)的“间隔”,以便了解到达的数据的偏差,例如:

结果应该是这样的

谢谢
发布于 2019-07-28 19:47:38
您可以使用date_diff()
select date_diff(hour, servertime, servertime) as hours,
count(*)
from t
group by date_diff(hour, servertime, servertime)
order by hours;这不会返回0值。为此,可以使用left join:
select v.hours, count(*)
from (values (0), (1), (2), (3)) v(hours) left join
t
on hours = date_diff(hour, servertime, servertime)
group by v.hours
order by hours;https://stackoverflow.com/questions/57238964
复制相似问题