我对BigQuery和SQL比较新,所以我遇到的困难可能是因为我不知道如何充分描述我的问题,以便能够搜索答案,但我已经尽力了,请温柔一点。
我想做的是计算符合一组条件的唯一userId总数,并将其除以唯一userId的总数。
例如,要计算所有具有购买记录的唯一用户:
SELECT count(userId)
FROM (SELECT userId
FROM (FLATTEN([table1], user_attribute))
WHERE event_value > 0 and event_parameters.Name = "SKU"
GROUP BY userId ORDER BY userId)
以及统计唯一用户的总数
SELECT count(userId)
FROM (SELECT userId
FROM (FLATTEN([table1], user_attribute))
GROUP BY userId ORDER BY userId)
我尝试编写查询语句如下:
SELECT buyers/total
FROM (SELECT COUNT(userId) AS buyers
FROM (SELECT userId
FROM (FLATTEN([table1], user_attribute))
WHERE event_value > 0 and event_parameters.Name = "SKU"
GROUP BY userId ORDER BY userId),
COUNT(userId) as total
FROM (SELECT userId
FROM (FLATTEN([table1], user_attribute))
GROUP BY userId ORDER BY userId))
但它无法工作。我知道我做错了一些根本性的事情,但我不确定是什么。希望能得到任何帮助。