在hive中,我有一个包含大量列的表,其中两列是begin_time,end_time。
我需要计算每次的数字
表的一部分是这样的:
begin_time end_time
2011.04.26 10:19:06^A2011.04.26 10:20:22
2011.04.26 10:19:08^A2011.04.26 10:21:49
2011.04.26 10:19:08^A2011.04.26 11:18:46
2011.04.26 10:19:09^A2011.04.26 12:08:36
2011.04.26 10:19:09^A2011.04.26 11:00:16
2011.04.26 10:19:11^A2011.04.26 10:19:17
2011.04.26 10:19:12^A2011.04.26 10:46:21
2011.04.26 10:19:13^A2011.04.26 10:55:43
2011.04.26 10:19:17^A2011.04.26 10:19:41
2011.04.26 10:19:18^A2011.04.26 10:34:41
我想要的结果是在特定时间有多少人。
e.g。在2011.04.26 10:19:08,当然有3位访客在19:06有一位,19:08有2位。
和2011.04.26 10:19:18是9,课程十,但一个人离开2011.04.26 10:19:17
片的理想结果是
2011.04.26 10:19:06 1
2011.04.26 10:19:08 3
2011.04.26 10:19:09 5
2011.04.26 10:19:11 6
2011.04.26 10:19:12 7
2011.04.26 10:19:13 8
2011.04.26 10:19:17 9
2011.04.26 10:19:18 9
非常感谢和欢迎任何帮助。
答案 0 :(得分:0)
在sql中:
SELECT v.begin_time AS "time",
COUNT(*) AS "visitors"
FROM visits v
JOIN visits o
ON v.begin_time BETWEEN o.begin_time AND o.end_time
GROUP BY 1