0

在 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

我想要的结果是在特定时间有多少人。

例如,2011.04.26 10:19:08,19:06 有 3 个访客,19:08 有 2 个访客。

和 2011.04.26 10:19:18 是 9,当然是 10,但在 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

非常感谢和欢迎任何帮助。

4

1 回答 1

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
于 2013-05-17T03:23:03.477 回答