Google bigquery BigQuery-如何根据单个记录计算OCCouncies,然后将其分组
我的桌子看起来像这样: 我想输出另一个表,如下所示: 然后,我想创建另一个表,该表提供如下输出: 我设法用这个查询处理了第一部分:Google bigquery BigQuery-如何根据单个记录计算OCCouncies,然后将其分组,google-bigquery,Google Bigquery,我的桌子看起来像这样: 我想输出另一个表,如下所示: 然后,我想创建另一个表,该表提供如下输出: 我设法用这个查询处理了第一部分: SELECT consumerID, count (distinct Action) AS TotalUniqueAction FROM [project:database.table] GROUP BY consumerID 但是现在我对第二个表感到迷茫了。下面是关于BigQuery标准SQL的 #standardSQL SELECT
SELECT
consumerID,
count (distinct Action) AS TotalUniqueAction
FROM
[project:database.table]
GROUP BY
consumerID
但是现在我对第二个表感到迷茫了。下面是关于BigQuery标准SQL的
#standardSQL
SELECT
CASE
WHEN TotalUniqueActions = 1 THEN 'Completed 1 Activity'
WHEN TotalUniqueActions = 2 THEN 'Completed 2 Activity'
WHEN TotalUniqueActions > 2 THEN 'Completed 3+ Activity'
END AS ActionRange,
COUNT(DISTINCT consumerID) UniqueCustomers
FROM (
SELECT consumerID, COUNT(DISTINCT Action) TotalUniqueActions
FROM `project.dataset.table`
GROUP BY consumerID
)
GROUP BY ActionRange
如果要应用于问题中的虚拟数据,请返回以下结果
ActionRange UniqueCustomers
Completed 2 Activity 1
Completed 3+ Activity 1
下面是BigQuery标准SQL
#standardSQL
SELECT
CASE
WHEN TotalUniqueActions = 1 THEN 'Completed 1 Activity'
WHEN TotalUniqueActions = 2 THEN 'Completed 2 Activity'
WHEN TotalUniqueActions > 2 THEN 'Completed 3+ Activity'
END AS ActionRange,
COUNT(DISTINCT consumerID) UniqueCustomers
FROM (
SELECT consumerID, COUNT(DISTINCT Action) TotalUniqueActions
FROM `project.dataset.table`
GROUP BY consumerID
)
GROUP BY ActionRange
如果要应用于问题中的虚拟数据,请返回以下结果
ActionRange UniqueCustomers
Completed 2 Activity 1
Completed 3+ Activity 1
你至少试过什么吗?@MikhailBerlyant我更新了问题的第一部分。顺便说一句,我期待着你的评论:)我想你已经完成了一半-请看我的答案:o)确保你使用的是标准sql,而不是遗留的!在legacy sql中,count(独立列)给出了估计/近似计数(仅供参考)您至少尝试过什么吗?@MikhailBerlyant我更新了问题中需求的第一部分。顺便说一句,我期待着你的评论:)我想你已经完成了一半-请看我的答案:o)确保你使用的是标准sql,而不是遗留的!在遗留sql中,count(不同列)给出估计/近似计数(与fyi相同)