我们有3列的表格-访问页面的网址,用户会话ID和日期时间。根据此信息,我们生成了两列结果-日期(唯一)和跳出率。
非常清楚,我们需要查找会话ID的一次出现,如果相同的会话ID有2个条目,则意味着用户点击了另一页并且没有跳出,但一个条目意味着它被跳了。
我无法为此编写SQL查询。我尝试按会话ID和日期对数据进行分组,但无法获得所需格式的结果。
任何人都可以这样做吗?
如果您希望每天只有一页的会话数,可以使用聚合:
select dte,
avg( (num_pages = 1)::int ) as bounce_rate
from (select sessionid, min(datetime)::date as dte, count(*) as num_pages
from t
group by sessionid
) t
group by dte;