FROM mysql('10.3.15.213:3306', 'adv_appsflyer_new', 'appsflyer_pay_record', 'appsflyer', 'Hs*9Ds1&s') WHERE activation_time is NOT NULL AND toDate(activation_time) is NOT NULL;
//物化视图 ltv
CREATE MATERIALIZED VIEW IF NOT EXISTS appsflyer_order_accumulative_view
ENGINE = SummingMergeTree
PARTITION BY game_id
ORDER BY (ds, game_id, platform, media_source, campaign_id, ad_set_id, ad_id, currency,region)
POPULATE
AS SELECT toYYYYMMDD(activation_time) as ds, game_id, platform, media_source, campaign_id, ad_set_id, ad_id, currency,region,
sum( IF(dateDiff('day',activation_time,now())>=0 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)=0 and money IS NOT NULL ,money ,0 )) as day0_sum ,
sum( IF(dateDiff('day',activation_time,now())>=1 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=1 and money IS NOT NULL ,money ,0 )) as day1_sum ,
sum( IF(dateDiff('day',activation_time,now())>=2 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=2 and money IS NOT NULL ,money ,0 )) as day2_sum ,
sum( IF(dateDiff('day',activation_time,now())>=3 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=3 and money IS NOT NULL ,money ,0 )) as day3_sum ,
sum( IF(dateDiff('day',activation_time,now())>=4 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=4 and money IS NOT NULL ,money ,0 )) as day4_sum ,
sum( IF(dateDiff('day',activation_time,now())>=5 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=5 and money IS NOT NULL ,money ,0 )) as day5_sum ,
sum( IF(dateDiff('day',activation_time,now())>=6 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=6 and money IS NOT NULL ,money ,0 )) as day6_sum ,
sum( IF(dateDiff('day',activation_time,now())>=7 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=7 and money IS NOT NULL ,money ,0 )) as day7_sum ,
sum( IF(dateDiff('day',activation_time,now())>=8 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=8 and money IS NOT NULL ,money ,0 )) as day8_sum ,
sum( IF(dateDiff('day',activation_time,now())>=9 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=9 and money IS NOT NULL ,money ,0 )) as day9_sum ,
sum( IF(dateDiff('day',activation_time,now())>=10 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=10 and money IS NOT NULL ,money ,0 )) as day10_sum ,
sum( IF(dateDiff('day',activation_time,now())>=11 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=11 and money IS NOT NULL ,money ,0 )) as day11_sum ,
sum( IF(dateDiff('day',activation_time,now())>=12 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=12 and money IS NOT NULL ,money ,0 )) as day12_sum ,
sum( IF(dateDiff('day',activation_time,now())>=13 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=13 and money IS NOT NULL ,money ,0 )) as day13_sum ,
sum( IF(dateDiff('day',activation_time,now())>=14 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=14 and money IS NOT NULL ,money ,0 )) as day14_sum ,
sum( IF(dateDiff('day',activation_time,now())>=15 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=15 and money IS NOT NULL ,money ,0 )) as day15_sum ,
sum( IF(dateDiff('day',activation_time,now())>=20 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=20 and money IS NOT NULL ,money ,0 )) as day20_sum ,
sum( IF(dateDiff('day',activation_time,now())>=25 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=25 and money IS NOT NULL ,money ,0 )) as day25_sum ,
sum( IF(dateDiff('day',activation_time,now())>=30 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=30 and money IS NOT NULL ,money ,0 )) as day30_sum ,
sum( IF(dateDiff('day',activation_time,now())>=35 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=35 and money IS NOT NULL ,money ,0 )) as day35_sum ,
sum( IF(dateDiff('day',activation_time,now())>=40 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=40 and money IS NOT NULL ,money ,0 )) as day40_sum ,
sum( IF(dateDiff('day',activation_time,now())>=45 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=45 and money IS NOT NULL ,money ,0 )) as day45_sum ,
sum( IF(dateDiff('day',activation_time,now())>=50 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=50 and money IS NOT NULL ,money ,0 )) as day50_sum ,
sum( IF(dateDiff('day',activation_time,now())>=55 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=55 and money IS NOT NULL ,money ,0 )) as day55_sum ,
sum( IF(dateDiff('day',activation_time,now())>=60 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=60 and money IS NOT NULL ,money ,0 )) as day60_sum ,
sum( IF(dateDiff('day',activation_time,now())>=65 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=65 and money IS NOT NULL ,money ,0 )) as day65_sum ,
sum( IF(dateDiff('day',activation_time,now())>=70 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=70 and money IS NOT NULL ,money ,0 )) as day70_sum ,
sum( IF(dateDiff('day',activation_time,now())>=75 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=75 and money IS NOT NULL ,money ,0 )) as day75_sum ,
sum( IF(dateDiff('day',activation_time,now())>=80 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=80 and money IS NOT NULL ,money ,0 )) as day80_sum ,
sum( IF(dateDiff('day',activation_time,now())>=85 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=85 and money IS NOT NULL ,money ,0 )) as day85_sum ,
sum( IF(dateDiff('day',activation_time,now())>=90 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=90 and money IS NOT NULL ,money ,0 )) as day90_sum ,
sum( IF(dateDiff('day',activation_time,now())>=120 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=120 and money IS NOT NULL ,money ,0 )) as day120_sum ,
sum( IF(dateDiff('day',activation_time,now())>=150 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=150 and money IS NOT NULL ,money ,0 )) as day150_sum ,
sum( IF(dateDiff('day',activation_time,now())>=180 and activation_time<=pay_time and dateDiff('day',activation_time,pay_time)<=180 and money IS NOT NULL ,money ,0 )) as day180_sum ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=0 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)=0 and uid is not null,uid ,null )) as day0_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=1 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=1 and uid is not null,uid ,null )) as day1_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=2 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=2 and uid is not null,uid ,null )) as day2_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=3 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=3 and uid is not null,uid ,null )) as day3_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=4 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=4 and uid is not null,uid ,null )) as day4_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=5 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=5 and uid is not null,uid ,null )) as day5_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=6 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=6 and uid is not null,uid ,null )) as day6_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=7 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=7 and uid is not null,uid ,null )) as day7_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=8 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=8 and uid is not null,uid ,null )) as day8_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=9 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=9 and uid is not null,uid ,null )) as day9_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=10 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=10 and uid is not null,uid ,null )) as day10_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=11 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=11 and uid is not null,uid ,null )) as day11_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=12 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=12 and uid is not null,uid ,null )) as day12_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=13 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=13 and uid is not null,uid ,null )) as day13_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=14 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=14 and uid is not null,uid ,null )) as day14_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=15 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=15 and uid is not null,uid ,null )) as day15_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=20 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=20 and uid is not null,uid ,null )) as day20_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=25 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=25 and uid is not null,uid ,null )) as day25_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=30 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=30 and uid is not null,uid ,null )) as day30_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=35 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=35 and uid is not null,uid ,null )) as day35_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=40 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=40 and uid is not null,uid ,null )) as day40_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=45 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=45 and uid is not null,uid ,null )) as day45_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=50 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=50 and uid is not null,uid ,null )) as day50_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=55 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=55 and uid is not null,uid ,null )) as day55_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=60 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=60 and uid is not null,uid ,null )) as day60_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=65 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=65 and uid is not null,uid ,null )) as day65_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=70 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=70 and uid is not null,uid ,null )) as day70_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=75 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=75 and uid is not null,uid ,null )) as day75_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=80 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=80 and uid is not null,uid ,null )) as day80_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=85 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=85 and uid is not null,uid ,null )) as day85_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=90 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=90 and uid is not null,uid ,null )) as day90_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=120 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=120 and uid is not null,uid ,null )) as day120_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=150 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=150 and uid is not null,uid ,null )) as day150_num ,
count(DISTINCT IF(DATEDIFF('day',activation_time,now())>=180 and activation_time<=pay_time and DATEDIFF('day',activation_time,pay_time)<=180 and uid is not null,uid ,null )) as day180_num ,
sum(money) as day_now_sum,
count(DISTINCT(uid)) as day_now_num
from appsflyer_pay_record
GROUP BY toYYYYMMDD(activation_time), game_id, platform, media_source, campaign_id, ad_set_id, ad_id, currency ,region