我有一个包含以下字段的分析表:
UNIQUE_ID,
收入,
页面名
为用户访问的每个页面创建分析记录。我想回答的问题是:已经到过地图屏幕(pagename = mapview)的用户与没有用户的用户收入有多少。仅当用户点击具有事务元素的页面时才记录收入。我没有跟踪用户在使用事务元素访问页面后是否访问过地图视图
我是否需要创建一个单独的表来跟踪特定用户(unique_id)是否已到达地图屏幕然后将其与原始表连接?或者有更简单的方法吗?
答案 0 :(得分:1)
您可以通过聚合执行此操作 - 两个级别的聚合:
select isMapView, sum(revenue), count(*) as numUsers
from (select unique_id, sum(revenue) as revenue,
max(case when pagename = 'mapview' then 1 else 0 end) as isMapView
from t
group by unique_id
) u
group by isMapView;