如何在Amazon Athena中按小时计算ID的平均出现次数?
Amazon Athena计算每个ID每小时平均出现次数
原始数据表
| id | hour |
|---|---|
| 1 | 3 |
| 1 | 3 |
| 1 | 3 |
| 1 | 4 |
| 2 | 12 |
| 2 | 12 |
| 2 | 14 |
需求说明
需要计算每个ID的每小时平均出现次数:即该ID的总记录数,除以该ID涉及的不同小时数。比如ID1总共有4条记录,覆盖2个不同小时,平均为4/2=2次/小时;ID2总共有3条记录,覆盖2个不同小时,平均为3/2=1.5次/小时。
解决方案SQL
在Amazon Athena中可以通过嵌套聚合实现:
SELECT id, COUNT(*) / COUNT(DISTINCT hour) AS average_per_hour FROM your_table_name GROUP BY id;
替换your_table_name为实际表名即可。
执行结果
| id | average_per_hour |
|---|---|
| 1 | 2 |
| 2 | 1.5 |
内容的提问来源于stack exchange,提问作者Ted
相关产品推荐
相关产品推荐

