ck 计算留存

1.函数介绍

参数聚合函数 | ClickHouse Docs

Retention​

该函数将一组条件作为参数,类型为1到32个 UInt8 类型的参数,用来表示事件是否满足特定条件。 任何条件都可以指定为参数(如 WHERE).

除了第一个以外,条件成对适用:如果第一个和第二个是真的,第二个结果将是真的,如果第一个和第三个是真的,第三个结果将是真的,等等。

语法

retention(cond1, cond2, ..., cond32);

参数

  • cond — 返回 UInt8 结果(1或0)的表达式。

返回值

数组为1或0。

  • 1 — 条件满足。
  • 0 — 条件不满足。

2.实践

select 
sum(r[1])
,sum(r[2])
,sum(r[3])
,sum(r[2])/sum(r[1])
from 
(
 
select  
  mid
  ,retention(h_date = '2022-10-02', h_date between  '2022-10-03' and  '2022-10-13', h_date = '2022-10-04') AS r
from 
(
  select   mid , toString(toDate(ctime))   as h_date 
  from ads_activity_626_web_pv_a
  where activity_name ='2022萌节'     
  and ctime between '2022-10-02 00:00:00'  and  '2022-10-13 00:00:00' 
  and  event_type ='pv' 
  and  coalesce(spm_id,'')>''
  group by  mid , toString(toDate(ctime))
) a 
group by mid  
) a 

ck 计算留存_第1张图片

你可能感兴趣的:(大数据,sql,数据仓库)