|
@@ -1066,7 +1066,7 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
}
|
|
|
if (needGroupBy) {
|
|
|
//拼接分组条件
|
|
|
- cri.getGroupBy().groupBy("game_name", "game_id", "game_classify");
|
|
|
+ cri.getGroupBy().groupBy("game_id", "game_classify", "source_system");
|
|
|
}
|
|
|
|
|
|
return cri;
|
|
@@ -2264,8 +2264,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
IFNULL(role_num, 0) role_num
|
|
|
FROM(
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
- game_name,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
game_classify,
|
|
|
sum(buy_reg_num) reg_num,
|
|
|
sum(cost) cost,
|
|
@@ -2303,8 +2304,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
) a
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as b_source_system,
|
|
|
game_id as b_game_id,
|
|
|
- game_name as b_game_name,
|
|
|
+ MAX(game_name) as b_game_name,
|
|
|
IFNULL(sum(buy_amount_count), 0) amount_count,
|
|
|
IFNULL(sum(buy_amount), 0) amount,
|
|
|
round(if(sum(buy_amount_count) > 0, sum(buy_amount) / sum(buy_amount_count), 0), 2) avg_amount
|
|
@@ -2313,9 +2315,10 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criB +
|
|
|
"""
|
|
|
) b
|
|
|
- ON a.game_id = b.b_game_id and a.game_name = b.b_game_name
|
|
|
+ ON a.game_id = b.b_game_id and a.game_name = b.b_game_name and a.source_system = b.b_source_system
|
|
|
LEFT JOIN(
|
|
|
SELECT
|
|
|
+ source_system as d_source_system,
|
|
|
game_id as d_game_id,
|
|
|
IFNULL(COUNT(DISTINCT user_id), 0) amount_num
|
|
|
FROM
|
|
@@ -2323,10 +2326,11 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criAmount +
|
|
|
"""
|
|
|
AND NOT agent_id = 0
|
|
|
- GROUP BY game_id) d
|
|
|
- ON a.game_id = d.d_game_id
|
|
|
+ GROUP BY game_id, source_system) d
|
|
|
+ ON a.game_id = d.d_game_id and a.source_system = d.d_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as f_source_system,
|
|
|
game_id as f_game_id,
|
|
|
COUNT(DISTINCT user_id) new_user_amount_num
|
|
|
FROM
|
|
@@ -2334,14 +2338,16 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criNewUser +
|
|
|
"""
|
|
|
AND NOT agent_id = 0
|
|
|
- GROUP BY game_id) f
|
|
|
- ON a.game_id = f.f_game_id
|
|
|
+ GROUP BY game_id, source_system) f
|
|
|
+ ON a.game_id = f.f_game_id and a.source_system = f.f_source_system
|
|
|
LEFT JOIN(
|
|
|
SELECT
|
|
|
+ source_system as g_source_system,
|
|
|
game_id as g_game_id,
|
|
|
COUNT(tempA.num) as new_user_again_num
|
|
|
FROM (
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
COUNT(user_id) num
|
|
|
FROM
|
|
@@ -2351,13 +2357,15 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
AND NOT agent_id = 0
|
|
|
GROUP BY
|
|
|
user_id,
|
|
|
- game_id
|
|
|
+ game_id,
|
|
|
+ source_system
|
|
|
HAVING
|
|
|
COUNT(user_id) > 1 ) tempA
|
|
|
- GROUP BY tempA.game_id) g
|
|
|
- ON a.game_id = g.g_game_id
|
|
|
+ GROUP BY tempA.game_id, tempA.source_system) g
|
|
|
+ ON a.game_id = g.g_game_id and a.source_system = g.g_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as n_source_system,
|
|
|
user_game_id ,
|
|
|
COUNT(DISTINCT role_user_id) as role_num
|
|
|
FROM
|
|
@@ -2365,9 +2373,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criRoleNum +
|
|
|
"""
|
|
|
AND NOT user_agent_id = 0
|
|
|
- GROUP BY user_game_id
|
|
|
+ GROUP BY user_game_id,source_system
|
|
|
) n
|
|
|
- ON a.game_id = n.user_game_id
|
|
|
+ ON a.game_id = n.user_game_id and a.source_system = n.n_source_system
|
|
|
""";
|
|
|
} else if ("nature".equals(tableType)) {
|
|
|
return """
|
|
@@ -2382,8 +2390,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
IFNULL(role_num, 0) role_num
|
|
|
FROM(
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
- game_name,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
game_classify,
|
|
|
sum(nature_reg_num) reg_num,
|
|
|
sum(cost) cost,
|
|
@@ -2421,8 +2430,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
) a
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as b_source_system,
|
|
|
game_id as b_game_id,
|
|
|
- game_name as b_game_name,
|
|
|
+ MAX(game_name) as b_game_name,
|
|
|
IFNULL(sum(nature_amount_count), 0) amount_count,
|
|
|
IFNULL(sum(nature_amount), 0) amount,
|
|
|
round(if(sum(nature_amount_count) > 0, sum(nature_amount) / sum(nature_amount_count), 0), 2) avg_amount
|
|
@@ -2431,9 +2441,10 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criB +
|
|
|
"""
|
|
|
) b
|
|
|
- ON a.game_id = b.b_game_id and a.game_name = b.b_game_name
|
|
|
+ ON a.game_id = b.b_game_id and a.game_name = b.b_game_name and a.source_system = b.b_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as e_source_system,
|
|
|
game_id as e_game_id,
|
|
|
IFNULL(COUNT(DISTINCT user_id), 0) amount_num
|
|
|
FROM
|
|
@@ -2441,10 +2452,11 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criAmount +
|
|
|
"""
|
|
|
AND agent_id = 0
|
|
|
- GROUP BY game_id ) e
|
|
|
- ON a.game_id = e.e_game_id
|
|
|
+ GROUP BY game_id, source_system ) e
|
|
|
+ ON a.game_id = e.e_game_id and a.source_system = e.e_source_system
|
|
|
LEFT JOIN(
|
|
|
SELECT
|
|
|
+ source_system as h_source_system,
|
|
|
game_id as h_game_id,
|
|
|
COUNT(DISTINCT user_id) as new_user_amount_num
|
|
|
FROM
|
|
@@ -2452,14 +2464,16 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criNewUser +
|
|
|
"""
|
|
|
AND agent_id = 0
|
|
|
- GROUP BY game_id) h
|
|
|
- ON a.game_id = h.h_game_id
|
|
|
+ GROUP BY game_id, source_system) h
|
|
|
+ ON a.game_id = h.h_game_id and a.source_system = h.h_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as i_source_system,
|
|
|
game_id as i_game_id,
|
|
|
COUNT(tempB.num) as new_user_again_num
|
|
|
FROM (
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
COUNT(user_id) num
|
|
|
FROM
|
|
@@ -2469,13 +2483,15 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
AND agent_id = 0
|
|
|
GROUP BY
|
|
|
user_id,
|
|
|
- game_id
|
|
|
+ game_id,
|
|
|
+ source_system
|
|
|
HAVING
|
|
|
COUNT(user_id) > 1 ) tempB
|
|
|
- GROUP BY tempB.game_id ) i
|
|
|
- ON a.game_id = i.i_game_id
|
|
|
+ GROUP BY tempB.game_id, tempB.source_system ) i
|
|
|
+ ON a.game_id = i.i_game_id and a.source_system = i.i_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as m_source_system,
|
|
|
user_game_id ,
|
|
|
COUNT(DISTINCT role_user_id) as role_num
|
|
|
FROM
|
|
@@ -2483,9 +2499,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criRoleNum +
|
|
|
"""
|
|
|
AND user_agent_id = 0
|
|
|
- GROUP BY user_game_id
|
|
|
+ GROUP BY user_game_id, source_system
|
|
|
) m
|
|
|
- ON a.game_id = m.user_game_id
|
|
|
+ ON a.game_id = m.user_game_id and a.source_system = m.m_source_system
|
|
|
""";
|
|
|
}
|
|
|
//总量
|
|
@@ -2501,8 +2517,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
IFNULL(role_num, 0) role_num
|
|
|
FROM(
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
- game_name,
|
|
|
+ MAX(game_name) as game_name,
|
|
|
game_classify,
|
|
|
sum(reg_num) reg_num,
|
|
|
sum(cost) cost,
|
|
@@ -2540,8 +2557,9 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
) a
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as b_source_system,
|
|
|
game_id as b_game_id,
|
|
|
- game_name as b_game_name,
|
|
|
+ MAX(game_name) as b_game_name,
|
|
|
IFNULL(sum(amount_count), 0) amount_count,
|
|
|
IFNULL(sum(amount), 0) amount,
|
|
|
round(if(sum(amount_count) > 0, sum(amount) / sum(amount_count), 0), 2) avg_amount
|
|
@@ -2550,20 +2568,21 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
""" + criB +
|
|
|
"""
|
|
|
) b
|
|
|
- ON a.game_id = b.b_game_id and a.game_name = b.b_game_name
|
|
|
+ ON a.game_id = b.b_game_id and a.game_name = b.b_game_name and a.source_system = b.b_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as c_source_system,
|
|
|
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
|
|
|
+ GROUP BY game_id, source_system) c
|
|
|
+ ON a.game_id = c.c_game_id and a.source_system = c.c_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as j_source_system,
|
|
|
game_id as j_game_id,
|
|
|
COUNT(DISTINCT user_id) new_user_amount_num
|
|
|
FROM
|
|
@@ -2571,14 +2590,16 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
"""
|
|
|
+ criNewUser +
|
|
|
"""
|
|
|
- GROUP BY game_id) j
|
|
|
- ON a.game_id = j.j_game_id
|
|
|
+ GROUP BY game_id, source_system) j
|
|
|
+ ON a.game_id = j.j_game_id and a.source_system = j.j_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as k_source_system,
|
|
|
game_id as k_game_id,
|
|
|
COUNT(tempC.num) as new_user_again_num
|
|
|
FROM (
|
|
|
SELECT
|
|
|
+ source_system,
|
|
|
game_id,
|
|
|
COUNT(user_id) num
|
|
|
FROM
|
|
@@ -2587,22 +2608,24 @@ public class GameDataServiceImpl implements IGameDataService {
|
|
|
"""
|
|
|
GROUP BY
|
|
|
user_id,
|
|
|
- game_id
|
|
|
+ game_id,
|
|
|
+ source_system
|
|
|
HAVING
|
|
|
COUNT(user_id) > 1 ) tempC
|
|
|
- GROUP BY tempC.game_id ) k
|
|
|
- ON a.game_id = k.k_game_id
|
|
|
+ GROUP BY tempC.game_id, tempC.source_system ) k
|
|
|
+ ON a.game_id = k.k_game_id and a.source_system = k.k_source_system
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
+ source_system as l_source_system,
|
|
|
user_game_id ,
|
|
|
COUNT(DISTINCT role_user_id) as role_num
|
|
|
FROM
|
|
|
dw_create_role_detail
|
|
|
""" + criRoleNum +
|
|
|
"""
|
|
|
- GROUP BY user_game_id
|
|
|
+ GROUP BY user_game_id, source_system
|
|
|
) l
|
|
|
- ON a.game_id = l.user_game_id
|
|
|
+ ON a.game_id = l.user_game_id and a.source_system = l.l_source_system
|
|
|
""";
|
|
|
}
|
|
|
|