Sql查询基于会话ID和日期时间获得跳出率

问题描述 投票:0回答:1

我们有3列的表格-访问页面的网址,用户会话ID和日期时间。根据此信息,我们生成了两列结果-日期(唯一)和跳出率。

非常清楚,我们需要查找会话ID的一次出现,如果相同的会话ID有2个条目,则意味着用户点击了另一页并且没有跳出,但一个条目意味着它被跳了。

我无法为此编写SQL查询。我尝试按会话ID和日期对数据进行分组,但无法获得所需格式的结果。

任何人都可以这样做吗?

sql database postgresql mysqli
1个回答
0
投票

如果您希望每天只有一页的会话数,可以使用聚合:

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;
© www.soinside.com 2019 - 2024. All rights reserved.