我有这个表my_table
:如何计算日平均频率?
recorder_id person_id day
A1 1 2017-06-03 12:30
A1 1 2017-06-03 12:45
B1 1 2017-06-03 12:50
A1 2 2017-06-03 16:40
B1 2 2017-06-03 16:45
B1 2 2017-06-03 18:20
A1 1 2017-06-04 11:22
我想知道每个人多少次经过平均每天每个记录。例如,ID为1的人平均每天经过记录器A1 1.5次,而人2平均每天经过该记录器0.5次(因为该人没有2017-06-04的记录)。 B1应用相同的逻辑。
recorder_id person_id daily_average_per_person
A1 1 1.5
A1 2 0.5
B1 1 0.5
B1 2 1.0
我该如何得到这个结果?
我尝试此查询,但我不知道该怎么每个独特的人计算,平均每天:
SELECT recorder_id, person_id,
to_date(day) as hour,
count(*) as hourly_count
FROM my_table
GROUP BY recorder_id, person_id, to_date(day)
ORDER BY hourly_count;
Hive中没有整数算术,所以不需要乘以1.0 –
@DuduMarkovitz。 。 。我倾向于默认这样做,所以我不必记住哪个数据库做了什么。 –