我mytable
在Hive中有下表:
id radar_id car_id datetime
1 A21 123 2017-03-08 17:31:19.0
2 A21 555 2017-03-08 17:32:00.0
3 A21 777 2017-03-08 17:33:00.0
4 B15 123 2017-03-08 17:35:22.0
5 B15 555 2017-03-08 17:34:05.0
5 B15 777 2017-03-08 20:50:12.0
6 A21 123 2017-03-09 11:00:00.0
7 C11 123 2017-03-09 11:10:00.0
8 A21 123 2017-03-09 11:12:00.0
9 A21 555 2017-03-09 11:12:10.0
10 B15 123 2017-03-09 11:14:00.0
11 C11 555 2017-03-09 11:20:00.0
我想汽车通过雷达的路线A21
和B15
同样的行程之内。例如,如果同一日期的日期不同car_id
,则它不是同一趟旅程。基本上,我想考虑雷达A21
与B15
同一车辆之间的最大时差应为30分钟。如果更大,则行程不一样,例如的行程car_id
777
。
我的最终目标是计算每天的平均出行次数(非唯一性,因此,如果同一辆车通过相同路线经过2次,则应计算2次)。
预期结果如下:
radar_start radar_end avg_tripscount_per_day
A21 B15 1.5
在该日期2017-03-08
,雷达A21
与之间有2次旅行B15
(777
由于30分钟的限制,不考虑乘车),而在该日期2017-03-09
,只有1次旅行。每天平均2
+ 1 = 1.5次旅行。
我怎么能得到这个结果?基本上,我不知道如何在查询中引入30分钟的限制以及如何通过radar_start
和分组乘车radar_end
。
谢谢。
更新:
A21
的2017-03-08 23:55
,并通过雷达B15
在2017-03-09 00:15
,那么它应该被视为日注册了相同的行程2017-03-08
。ids
6和8的情况下,同一辆车123
经过了A21
两次,然后转向B15
(id
10)。最后一次乘id
8时应考虑。因此,8-10
。因此,最接近的B15
。解释是,一辆汽车经过A21
两次,第二次转向B15
。select count(*) / count(distinct to_date(datetime)) as trips_per_day
from (select radar_id
,datetime
,lead(radar_id) over w as next_radar_id
,lead(datetime) over w as next_datetime
from mytable
where radar_id in ('A21','B15')
window w as
(
partition by car_id
order by datetime
)
) t
where radar_id = 'A21'
and next_radar_id = 'B15'
and datetime + interval '30' minutes >= next_datetime
;
+----------------+
| trips_per_day |
+----------------+
| 1.5 |
+----------------+
ps
如果您的版本不支持间隔,则最后的代码记录可以替换为-
and to_unix_timestamp(datetime) + 30*60 > to_unix_timestamp(next_datetime)
我是Android开发的新手,我正在从firebase Realtime数据库中检索所有的子节点,这些节点的约会状态为“已完成”,并且子节点具有当前用户id,但当我移到历史记录时,它没有显示任何内容。有人能帮我解决这个问题吗。我需要尽快解决问题。 Firebase数据库模型
问题内容: 我想检索几年前/几个月前在Google网络历史记录中出现的旧Google搜索。我如何以编程方式检索它们? https://www.google.com/history/?output=rss仅提供最近的Google搜索,但不是全部。 还有一个问题:如何检索我的Google搜索记录?没有为我的问题提供任何答案! 问题答案: 您可以传递月,日和年作为参数来获取特定日期的历史记录。 例如,2
我试图创建一个简单的程序,从用户的名字,手机号码和电子邮件地址,然后把数据在Firebase实时数据库。 有3个输入框和一个按钮,按一下就可以完成上面的操作。代码如下: 我这样设置了消防基地:
{“type”:“record”、“name”:“twitter_schema”、“namespace”:“com.miguno.avro”、“fields”:[{“name”:“username”、“type”:“string”、“doc”:“Twitter.com上的用户帐户名称”}、{“name”:“tweet”、“type”:“string”、“doc”:“用户的Twitter消息内容”}
所以我根据YouTube上的教程创建了一个房间数据库。我有两个栏day and likes,每个栏都有int.目前,我已经用三行数据手动填充了数据库。 下面是手动填充数据库的代码: 在我的Dao类中,我当前有Insert、Update、deleteAll和getall...方法。这里是道: } 现在,我要从Room数据库中检索基于当天的数据。所以我想要第6天的likes数,它是1。我想检索数据并将
问题内容: 我有以下表格及其关系。我将JSON数据存储在client_services表中。它们是使用MySQL查询来检索JSON值的任何方式,如下所示: 还是可以进一步规范化client_services表? 表: 表: 表: 表: 问题答案: 由于很多人都亲自问过我这个问题,所以我想我会再作一次修改。这是一个具有SELECT,Migration和View Creation的完整SQL的要点,