【发布时间】:2022-12-01 00:41:33
【问题描述】:
我有以下结果集。
with dataset AS (
select 1 as total_users, ARRAY['google', 'meta', 'attentive', 'meta'] as path_list
UNION ALL
select 1, ARRAY['google', 'attentive', 'Direct Traffic', 'Direct Traffic', 'Direct Traffic', 'meta']
UNION ALL
select 4 , ARRAY ['google','meta', 'google']
UNION ALL
select 1, ARRAY['google', 'meta', 'meta', 'Direct Traffic' , 'meta']
UNION ALL
select 1, ARRAY['google', 'meta', 'meta']
UNION ALL
select 1, ARRAY['google', 'Direct Traffic', 'Direct Traffic','attentiva', 'attentiva', 'attentiva', 'Direct Traffic', 'meta']
)
SELECT path_list, total_users, path_list[2] as second_click,
CASE WHEN CARDINALITY(path_list) > 2 THEN path_list[3] ELSE NULL END as third_click from dataset
total_users 列指示遍历特定路径的用户数。
我想计算以下输出。
第二次点击媒体 second_click_percentage 第三次点击 third_click_percentage
对于每种介质。
结果集如下所示
path_list total_users second_click third_click
[谷歌,直接流量,直接流量,attentiva,attentiva,attentiva,直接流量,元] 1 直接流量 直接流量
[谷歌,元,细心,元] 1元细心
[google, attentive, Direct Traffic, Direct Traffic, Direct Traffic, meta] 1 条细心的直接流量
[谷歌、元、元、直接流量、元] 1 元元
[谷歌,元,元] 1 元元
[谷歌,元,谷歌] 4 元谷歌
现在我需要计算用户的百分比值,即有多少用户将元作为第二次点击,将关注作为第二次点击。
同样需要确定不同媒体的第三次点击百分比值。
请告知sql解决方案。
【问题讨论】:
标签: sql amazon-athena