|
@@ -2552,201 +2552,189 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
round(IF(SUM(reg_num) >0, SUM(new_user_total_role_num) / SUM(reg_num), 0), 4) new_user_total_role_num_rate
|
|
|
FROM
|
|
|
ads_game_day
|
|
|
- """
|
|
|
- + criA +
|
|
|
+ """ + criA +
|
|
|
"""
|
|
|
- ) a
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as b_game_id,
|
|
|
- IFNULL(sum(buy_amount_count), 0) buy_amount_count,
|
|
|
- IFNULL(sum(buy_amount), 0) buy_amount,
|
|
|
- IFNULL(sum(nature_amount_count), 0) nature_amount_count,
|
|
|
- IFNULL(sum(nature_amount), 0) nature_amount,
|
|
|
- IFNULL(sum(amount_count), 0) amount_count,
|
|
|
- IFNULL(sum(amount), 0) amount,
|
|
|
- round(if(sum(buy_amount_count) > 0, sum(buy_amount) / sum(buy_amount_count), 0), 2) buy_avg_amount,
|
|
|
- round(if(sum(nature_amount_count) > 0, sum(nature_amount) / sum(nature_amount_count), 0), 2) nature_avg_amount,
|
|
|
- round(if(sum(amount_count) > 0, sum(amount) / sum(amount_count), 0), 2) avg_amount
|
|
|
- FROM
|
|
|
- game_ads.ads_game_day
|
|
|
- """
|
|
|
- + criB +
|
|
|
+ ) a
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as b_game_id,
|
|
|
+ game_name as b_game_name,
|
|
|
+ IFNULL(sum(buy_amount_count), 0) buy_amount_count,
|
|
|
+ IFNULL(sum(buy_amount), 0) buy_amount,
|
|
|
+ IFNULL(sum(nature_amount_count), 0) nature_amount_count,
|
|
|
+ IFNULL(sum(nature_amount), 0) nature_amount,
|
|
|
+ IFNULL(sum(amount_count), 0) amount_count,
|
|
|
+ IFNULL(sum(amount), 0) amount,
|
|
|
+ round(if(sum(buy_amount_count) > 0, sum(buy_amount) / sum(buy_amount_count), 0), 2) buy_avg_amount,
|
|
|
+ round(if(sum(nature_amount_count) > 0, sum(nature_amount) / sum(nature_amount_count), 0), 2) nature_avg_amount,
|
|
|
+ round(if(sum(amount_count) > 0, sum(amount) / sum(amount_count), 0), 2) avg_amount
|
|
|
+ FROM
|
|
|
+ game_ads.ads_game_day
|
|
|
+ """ + criB +
|
|
|
"""
|
|
|
- ) b
|
|
|
- ON a.game_id = b.b_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as c_game_id,
|
|
|
- IFNULL(COUNT(DISTINCT user_id), 0) amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criAmount +
|
|
|
+ ) b
|
|
|
+ ON a.game_id = b.b_game_id and a.game_name = b.b_game_name
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as c_game_id,
|
|
|
+ IFNULL(COUNT(DISTINCT user_id), 0) amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criAmount +
|
|
|
"""
|
|
|
- GROUP BY
|
|
|
- game_id) c
|
|
|
- ON a.game_id = c.c_game_id
|
|
|
- LEFT JOIN(
|
|
|
- SELECT
|
|
|
- game_id as d_game_id,
|
|
|
- IFNULL(COUNT(DISTINCT user_id), 0) buy_amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criAmount +
|
|
|
+ GROUP BY
|
|
|
+ game_id) c
|
|
|
+ ON a.game_id = c.c_game_id
|
|
|
+ LEFT JOIN(
|
|
|
+ SELECT
|
|
|
+ game_id as d_game_id,
|
|
|
+ IFNULL(COUNT(DISTINCT user_id), 0) buy_amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criAmount +
|
|
|
"""
|
|
|
- AND NOT agent_id = 0
|
|
|
- GROUP BY game_id) d
|
|
|
- ON a.game_id = d.d_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as e_game_id,
|
|
|
- IFNULL(COUNT(DISTINCT user_id), 0) nature_amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criAmount +
|
|
|
+ AND NOT agent_id = 0
|
|
|
+ GROUP BY game_id) d
|
|
|
+ ON a.game_id = d.d_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as e_game_id,
|
|
|
+ IFNULL(COUNT(DISTINCT user_id), 0) nature_amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criAmount +
|
|
|
"""
|
|
|
- AND agent_id = 0
|
|
|
- GROUP BY game_id ) e
|
|
|
- ON a.game_id = e.e_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as f_game_id,
|
|
|
- COUNT(DISTINCT user_id) buy_new_user_amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criNewUser +
|
|
|
+ AND agent_id = 0
|
|
|
+ GROUP BY game_id ) e
|
|
|
+ ON a.game_id = e.e_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as f_game_id,
|
|
|
+ COUNT(DISTINCT user_id) buy_new_user_amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criNewUser +
|
|
|
"""
|
|
|
- AND NOT agent_id = 0
|
|
|
- GROUP BY game_id) f
|
|
|
- ON a.game_id = f.f_game_id
|
|
|
- LEFT JOIN(
|
|
|
- SELECT
|
|
|
- game_id as g_game_id,
|
|
|
- COUNT(tempA.num) as buy_new_user_again_num
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- game_id,
|
|
|
- COUNT(user_id) num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criNewUser +
|
|
|
+ AND NOT agent_id = 0
|
|
|
+ GROUP BY game_id) f
|
|
|
+ ON a.game_id = f.f_game_id
|
|
|
+ LEFT JOIN(
|
|
|
+ SELECT
|
|
|
+ game_id as g_game_id,
|
|
|
+ COUNT(tempA.num) as buy_new_user_again_num
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ game_id,
|
|
|
+ COUNT(user_id) num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criNewUser +
|
|
|
"""
|
|
|
- AND NOT agent_id = 0
|
|
|
- GROUP BY
|
|
|
- user_id,
|
|
|
- game_id
|
|
|
- HAVING
|
|
|
- COUNT(user_id) > 1 ) tempA
|
|
|
- GROUP BY tempA.game_id) g
|
|
|
- ON a.game_id = g.g_game_id
|
|
|
- LEFT JOIN(
|
|
|
- SELECT
|
|
|
- game_id as h_game_id,
|
|
|
- COUNT(DISTINCT user_id) as nature_new_user_amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criNewUser +
|
|
|
+ AND NOT agent_id = 0
|
|
|
+ GROUP BY
|
|
|
+ user_id,
|
|
|
+ game_id
|
|
|
+ HAVING
|
|
|
+ COUNT(user_id) > 1 ) tempA
|
|
|
+ GROUP BY tempA.game_id) g
|
|
|
+ ON a.game_id = g.g_game_id
|
|
|
+ LEFT JOIN(
|
|
|
+ SELECT
|
|
|
+ game_id as h_game_id,
|
|
|
+ COUNT(DISTINCT user_id) as nature_new_user_amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criNewUser +
|
|
|
"""
|
|
|
- AND agent_id = 0
|
|
|
- GROUP BY game_id) h
|
|
|
- ON a.game_id = h.h_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as i_game_id,
|
|
|
- COUNT(tempB.num) as nature_new_user_again_num
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- game_id,
|
|
|
- COUNT(user_id) num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criNewUser +
|
|
|
+ AND agent_id = 0
|
|
|
+ GROUP BY game_id) h
|
|
|
+ ON a.game_id = h.h_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as i_game_id,
|
|
|
+ COUNT(tempB.num) as nature_new_user_again_num
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ game_id,
|
|
|
+ COUNT(user_id) num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criNewUser +
|
|
|
"""
|
|
|
- AND agent_id = 0
|
|
|
- GROUP BY
|
|
|
- user_id,
|
|
|
- game_id
|
|
|
- HAVING
|
|
|
- COUNT(user_id) > 1 ) tempB
|
|
|
- GROUP BY tempB.game_id ) i
|
|
|
- ON a.game_id = i.i_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as j_game_id,
|
|
|
- COUNT(DISTINCT user_id) new_user_amount_num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
- + criNewUser +
|
|
|
+ AND agent_id = 0
|
|
|
+ GROUP BY
|
|
|
+ user_id,
|
|
|
+ game_id
|
|
|
+ HAVING
|
|
|
+ COUNT(user_id) > 1 ) tempB
|
|
|
+ GROUP BY tempB.game_id ) i
|
|
|
+ ON a.game_id = i.i_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as j_game_id,
|
|
|
+ COUNT(DISTINCT user_id) new_user_amount_num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
"""
|
|
|
- GROUP BY game_id) j
|
|
|
- ON a.game_id = j.j_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- game_id as k_game_id,
|
|
|
- COUNT(tempC.num) as new_user_again_num
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- game_id,
|
|
|
- COUNT(user_id) num
|
|
|
- FROM
|
|
|
- game_ads.ads_information
|
|
|
- """
|
|
|
+ criNewUser +
|
|
|
"""
|
|
|
- GROUP BY
|
|
|
- user_id,
|
|
|
- game_id
|
|
|
- HAVING
|
|
|
- COUNT(user_id) > 1 ) tempC
|
|
|
- GROUP BY tempC.game_id ) k
|
|
|
- ON a.game_id = k.k_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- user_game_id ,
|
|
|
- COUNT(DISTINCT role_user_id) as role_num
|
|
|
- FROM
|
|
|
- dw_create_role_detail
|
|
|
- """
|
|
|
- + criRoleNum +
|
|
|
+ GROUP BY game_id) j
|
|
|
+ ON a.game_id = j.j_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ game_id as k_game_id,
|
|
|
+ COUNT(tempC.num) as new_user_again_num
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ game_id,
|
|
|
+ COUNT(user_id) num
|
|
|
+ FROM
|
|
|
+ game_ads.ads_information
|
|
|
+ """ + criNewUser +
|
|
|
"""
|
|
|
- GROUP BY user_game_id
|
|
|
- ) l
|
|
|
- ON a.game_id = l.user_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- user_game_id ,
|
|
|
- COUNT(DISTINCT role_user_id) as nature_role_num
|
|
|
- FROM
|
|
|
- dw_create_role_detail
|
|
|
- """
|
|
|
- + criRoleNum +
|
|
|
+ GROUP BY
|
|
|
+ user_id,
|
|
|
+ game_id
|
|
|
+ HAVING
|
|
|
+ COUNT(user_id) > 1 ) tempC
|
|
|
+ GROUP BY tempC.game_id ) k
|
|
|
+ ON a.game_id = k.k_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ user_game_id ,
|
|
|
+ COUNT(DISTINCT role_user_id) as role_num
|
|
|
+ FROM
|
|
|
+ dw_create_role_detail
|
|
|
+ """ + criRoleNum +
|
|
|
"""
|
|
|
- AND user_agent_id = 0
|
|
|
- GROUP BY user_game_id
|
|
|
- ) m
|
|
|
- ON a.game_id = m.user_game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- user_game_id ,
|
|
|
- COUNT(DISTINCT role_user_id) as buy_role_num
|
|
|
- FROM
|
|
|
- dw_create_role_detail
|
|
|
- """
|
|
|
- + criRoleNum +
|
|
|
+ GROUP BY user_game_id
|
|
|
+ ) l
|
|
|
+ ON a.game_id = l.user_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ user_game_id ,
|
|
|
+ COUNT(DISTINCT role_user_id) as nature_role_num
|
|
|
+ FROM
|
|
|
+ dw_create_role_detail
|
|
|
+ """ + criRoleNum +
|
|
|
"""
|
|
|
- AND NOT user_agent_id = 0
|
|
|
- GROUP BY user_game_id
|
|
|
- ) n
|
|
|
- ON a.game_id = n.user_game_id
|
|
|
- """;
|
|
|
+ AND user_agent_id = 0
|
|
|
+ GROUP BY user_game_id
|
|
|
+ ) m
|
|
|
+ ON a.game_id = m.user_game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ user_game_id ,
|
|
|
+ COUNT(DISTINCT role_user_id) as buy_role_num
|
|
|
+ FROM
|
|
|
+ dw_create_role_detail
|
|
|
+ """ + criRoleNum +
|
|
|
+ """
|
|
|
+ AND NOT user_agent_id = 0
|
|
|
+ GROUP BY user_game_id
|
|
|
+ ) n
|
|
|
+ ON a.game_id = n.user_game_id
|
|
|
+ """;
|
|
|
}
|
|
|
|
|
|
/**
|