我想获得所有用户的相同路径(带有计数)
大家好, 希望简短地回答这个问题,希望我已经清楚了。 我在BigQuery中有一张桌子。那里我有以下专栏
- UserID
- Timestamp
- Domain
- some other columns (but I guess they are unimportant)
我完全不知道该如何解决!
因此,我想在所有用户中寻找相同的路径,并计算有多少用户具有相同的域顺序。
问题:我们正在谈论的是129 000个用户和大约5 TB的数据。我想我必须限制路径长度或其他限制。
我对SQL很熟悉,但是我需要一些帮助/意见以保持较低的成本。每次查询都要花钱,我的想法是在花费数千美元之前先问问社区。 感谢您的输入!
编辑: 我尝试通过以下方法对域的访问进行排名:
SELECT
guid,
domain AS channel,
timestamp,
RANK() OVER (PARTITION BY guid ORDER BY timestamp ASC ) AS rank
FROM
data.all
现在的问题是:在合并客户旅程中的每个“步骤”之后,如何匹配相同的路径?
答案 0 :(得分:0)
这可能有助于或至少帮助您入门:
select domains, count(*)
from (select userid, string_agg(domain order by timestamp, ',') as domains
from t
group by userid
) u
group by domains;
我更愿意使用数组来存储路径本身,但是BigQuery尚不支持将数组作为GROUP BY
键。