|
@@ -505,6 +505,8 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
if (StringUtils.isNotBlank(dto.getSourceSystem())) {
|
|
|
cri.where().andEquals("source_system", dto.getSourceSystem());
|
|
|
}
|
|
|
+ //原始服可以参与多次合服,只看最新一次的合服的原始服信息
|
|
|
+ cri.where().andEquals("is_merge", 0);
|
|
|
//拼接分组条件
|
|
|
cri.getGroupBy().groupBy("source_system" , "server_id" , "boss_server_id" , "super_game_id");
|
|
|
//分页
|
|
@@ -1873,10 +1875,12 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
server_id, -- 区服ID
|
|
|
MAX(server_name) as server_name, -- 区服名
|
|
|
MAX(dt) as dt, -- 开服日期
|
|
|
+ TIMESTAMPDIFF(DAY, MAX(dt), NOW()) start_day, -- 开服天数
|
|
|
boss_server_id, -- 合服ID
|
|
|
MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
MAX(merge_time) as merge_time , -- 合服时间
|
|
|
MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ MAX(h.is_merge) as is_merge, -- 是否参与过合服
|
|
|
SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
MAX(c.new_user_count) as new_user_count, -- 新用户人数
|
|
|
MAX(d.create_role_count) as create_role_count , -- 创角人数
|
|
@@ -2071,6 +2075,14 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
) d on a.source_system = d.source_system AND a.server_id = d.server_id AND c.super_game_id = d.super_game_id
|
|
|
group by a.source_system ,a.server_id ,d.boss_server_id, c.super_game_id
|
|
|
) f on a.source_system = f.f_source_system AND a.server_id = f.f_server_id AND a.super_game_id = f.f_super_game_id AND a.boss_server_id = f.f_boss_server_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system as h_source_system,
|
|
|
+ game_id as h_game_id,
|
|
|
+ server_id as h_server_id,
|
|
|
+ is_merge -- 是否参与过合服
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ ) h on a.source_system = h.h_source_system AND a.boss_server_id = h.h_server_id AND a.super_game_id = h.h_game_id
|
|
|
""";
|
|
|
}
|
|
|
|
|
@@ -2091,10 +2103,12 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
server_id, -- 区服ID
|
|
|
MAX(server_name) as server_name, -- 区服名
|
|
|
MAX(dt) as dt, -- 开服日期
|
|
|
+ TIMESTAMPDIFF(DAY, MAX(dt), NOW()) start_day, -- 开服天数
|
|
|
boss_server_id, -- 合服ID
|
|
|
MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
MAX(merge_time) as merge_time , -- 合服时间
|
|
|
MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ MAX(h.is_merge) as is_merge, -- 是否参与过合服
|
|
|
SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
MAX(c.new_user_count) as new_user_count, -- 新用户人数
|
|
|
MAX(d.create_role_count) as create_role_count , -- 创角人数
|
|
@@ -2306,17 +2320,17 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
source_system,
|
|
|
super_game_id , -- 超父游戏ID
|
|
|
MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
- boss_server_id, -- 合服ID
|
|
|
- MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ boss_server_id as server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as server_name, -- 合服名
|
|
|
+ MAX(merge_time) as dt, -- 合服时间
|
|
|
TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
|
|
|
MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
MAX(h.is_merge) as is_merge, -- 是否参与过合服
|
|
|
MAX(b.main_server_id) as main_server_id, -- 主服ID
|
|
|
MAX(b.main_server_name) as main_server_name, -- 主服名
|
|
|
- MAX(son_server_ids) as son_server_ids, -- 合服的子服ID列表
|
|
|
- MAX(source_server_ids) as source_server_ids, -- 子服ID列表
|
|
|
- MAX(source_server_ids_name) as source_server_ids_name, -- 子服名列表
|
|
|
+ MAX(son_server_ids) as son_server_ids, -- 合服ID列表
|
|
|
+ MAX(source_server_ids) as source_server_ids, -- 原始子服ID列表
|
|
|
+ MAX(source_server_ids_name) as source_server_ids_name, -- 原始子服名列表
|
|
|
SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
MAX(d.new_user_count) as new_user_count, -- 新用户人数
|
|
|
MAX(e.create_role_count) as create_role_count, -- 创角人数
|
|
@@ -2413,12 +2427,12 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
a.source_system as b_source_system,
|
|
|
a.server_id as b_server_id,
|
|
|
a.game_id as b_game_id,
|
|
|
- MAX(a.server_name) as server_name ,
|
|
|
- MAX(a.main_server_id) as main_server_id,
|
|
|
- MAX(c.server_name) as main_server_name,
|
|
|
- MAX(a.son_server_ids) as son_server_ids ,
|
|
|
- GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids,
|
|
|
- GROUP_CONCAT(b.server_name , ',') as source_server_ids_name
|
|
|
+ MAX(a.server_name) as server_name,
|
|
|
+ MAX(a.main_server_id) as main_server_id, -- 主服ID
|
|
|
+ MAX(c.server_name) as main_server_name, -- 主服名
|
|
|
+ MAX(a.son_server_ids) as son_server_ids , -- 合服子服ID列表
|
|
|
+ GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids, -- 原始子服ID列表
|
|
|
+ GROUP_CONCAT(b.server_name , ',') as source_server_ids_name -- 原始子服名
|
|
|
FROM dm_game_order.t_game_server_merge a
|
|
|
LEFT JOIN dm_game_order.t_game_server_merge b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.source_server_ids = b.server_id
|
|
|
LEFT JOIN (
|
|
@@ -2570,22 +2584,22 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
COUNT(1)
|
|
|
FROM(
|
|
|
SELECT
|
|
|
- -- 查询每个超父游戏-合服维度的信息
|
|
|
- source_system,
|
|
|
- super_game_id , -- 超父游戏ID
|
|
|
- MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
- boss_server_id, -- 合服ID
|
|
|
- MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- MAX(merge_time) as merge_time , -- 合服时间
|
|
|
- TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
|
|
|
- MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
- MAX(h.is_merge) as is_merge, -- 是否参与过合服
|
|
|
- MAX(b.main_server_id) as main_server_id, -- 主服ID
|
|
|
- MAX(b.main_server_name) as main_server_name, -- 主服名
|
|
|
- MAX(son_server_ids) as son_server_ids, -- 合服的子服ID列表
|
|
|
- MAX(source_server_ids) as source_server_ids, -- 子服ID列表
|
|
|
- MAX(source_server_ids_name) as source_server_ids_name, -- 子服名列表
|
|
|
- SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ -- 查询每个超父游戏-合服维度的信息
|
|
|
+ source_system,
|
|
|
+ super_game_id , -- 超父游戏ID
|
|
|
+ MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
+ boss_server_id as server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as server_name, -- 合服名
|
|
|
+ MAX(merge_time) as dt, -- 合服时间
|
|
|
+ TIMESTAMPDIFF(DAY, MAX(merge_time), NOW()) start_day, -- 开服天数
|
|
|
+ MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ MAX(h.is_merge) as is_merge, -- 是否参与过合服
|
|
|
+ MAX(b.main_server_id) as main_server_id, -- 主服ID
|
|
|
+ MAX(b.main_server_name) as main_server_name, -- 主服名
|
|
|
+ MAX(son_server_ids) as son_server_ids, -- 合服ID列表
|
|
|
+ MAX(source_server_ids) as source_server_ids, -- 原始子服ID列表
|
|
|
+ MAX(source_server_ids_name) as source_server_ids_name, -- 原始子服名列表
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
MAX(d.new_user_count) as new_user_count, -- 新用户人数
|
|
|
MAX(e.create_role_count) as create_role_count, -- 创角人数
|
|
|
MAX(c.role_count) as role_count, -- 角色数量
|
|
@@ -2606,224 +2620,224 @@ public class RoleManageServiceImpl implements IRoleManageService {
|
|
|
SUM(ba3_count) as ba3_count, -- 前天付费次数
|
|
|
MAX(g.ba3_active_num) as ba3_active_num -- 前天活跃人数
|
|
|
FROM (
|
|
|
- SELECT
|
|
|
- -- 子查询,查询每个超父游戏-原始区服维度的信息
|
|
|
- source_system,
|
|
|
- super_game_id , -- 超父游戏ID
|
|
|
- MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
- server_id, -- 区服ID
|
|
|
- MAX(server_name) as server_name, -- 区服名
|
|
|
- boss_server_id, -- 合服ID
|
|
|
- MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- MAX(merge_time) as merge_time , -- 合服时间
|
|
|
- MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
- SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
- SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
- SUM(ba1) as ba1, -- 今日付费金额
|
|
|
- SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
- SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
- SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
- SUM(ba3) as ba3, -- 前天付费金额
|
|
|
- SUM(ba3_count) as ba3_count -- 前天付费次数
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- -- 子查询,查询每个父游戏-区服维度的信息
|
|
|
- source_system,
|
|
|
- parent_game_id, -- 父游戏ID
|
|
|
- MAX(parent_game_name) as parent_game_name, -- 父游戏名
|
|
|
- super_game_id , -- 超父游戏ID
|
|
|
- MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
- server_id, -- 区服ID
|
|
|
- MAX(server_name) as server_name, -- 区服名
|
|
|
- boss_server_id, -- 合服ID
|
|
|
- MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- MAX(merge_time) as merge_time , -- 合服时间
|
|
|
- MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
- SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
- SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
- SUM(ba1) as ba1, -- 今日付费金额
|
|
|
- SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
- SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
- SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
- SUM(ba3) as ba3, -- 前天付费金额
|
|
|
- SUM(ba3_count) as ba3_count -- 前天付费次数
|
|
|
- FROM (
|
|
|
- -- 子查询,查询每个子游戏-原始区服维度的信息
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- game_id, -- 子游戏ID
|
|
|
- MAX(game_name) as game_name, -- 子游戏名
|
|
|
- parent_game_id, -- 父游戏ID
|
|
|
- MAX(parent_game_name) as parent_game_name, -- 父游戏名
|
|
|
- super_game_id , -- 超父游戏ID
|
|
|
- MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
- server_id, -- 区服ID
|
|
|
- MAX(server_name) as server_name, -- 区服名
|
|
|
- boss_server_id, -- 合服ID
|
|
|
- MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
- MAX(merge_time) as merge_time , -- 合服时间
|
|
|
- MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
- MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
- MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
- MAX(ba1) as ba1, -- 今日付费金额
|
|
|
- MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
- MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
- MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
- MAX(ba3) as ba3, -- 前天付费金额
|
|
|
- MAX(ba3_count) as ba3_count -- 前天付费次数
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY game_id ,parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
- ) a GROUP BY parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
- ) a GROUP BY super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
+ SELECT
|
|
|
+ -- 子查询,查询每个超父游戏-原始区服维度的信息
|
|
|
+ source_system,
|
|
|
+ super_game_id , -- 超父游戏ID
|
|
|
+ MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
+ server_id, -- 区服ID
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_count) as ba3_count -- 前天付费次数
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ -- 子查询,查询每个父游戏-区服维度的信息
|
|
|
+ source_system,
|
|
|
+ parent_game_id, -- 父游戏ID
|
|
|
+ MAX(parent_game_name) as parent_game_name, -- 父游戏名
|
|
|
+ super_game_id , -- 超父游戏ID
|
|
|
+ MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
+ server_id, -- 区服ID
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ SUM(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ SUM(total_amount) as total_amount, -- 总付费金额
|
|
|
+ SUM(ba1) as ba1, -- 今日付费金额
|
|
|
+ SUM(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ SUM(ba2) as ba2, -- 昨日付费金额
|
|
|
+ SUM(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ SUM(ba3) as ba3, -- 前天付费金额
|
|
|
+ SUM(ba3_count) as ba3_count -- 前天付费次数
|
|
|
+ FROM (
|
|
|
+ -- 子查询,查询每个子游戏-原始区服维度的信息
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ game_id, -- 子游戏ID
|
|
|
+ MAX(game_name) as game_name, -- 子游戏名
|
|
|
+ parent_game_id, -- 父游戏ID
|
|
|
+ MAX(parent_game_name) as parent_game_name, -- 父游戏名
|
|
|
+ super_game_id , -- 超父游戏ID
|
|
|
+ MAX(super_game_name) as super_game_name , -- 超父游戏名
|
|
|
+ server_id, -- 区服ID
|
|
|
+ MAX(server_name) as server_name, -- 区服名
|
|
|
+ boss_server_id, -- 合服ID
|
|
|
+ MAX(boss_server_name) as boss_server_name, -- 合服名
|
|
|
+ MAX(merge_time) as merge_time , -- 合服时间
|
|
|
+ MAX(sum_server_count) as sum_server_count, -- 合服次数
|
|
|
+ MAX(server_combat_num) as server_combat_num, -- 区服战力
|
|
|
+ MAX(total_amount) as total_amount, -- 总付费金额
|
|
|
+ MAX(ba1) as ba1, -- 今日付费金额
|
|
|
+ MAX(ba1_count) as ba1_count, -- 今日付费次数
|
|
|
+ MAX(ba2) as ba2, -- 昨日付费金额
|
|
|
+ MAX(ba2_count) as ba2_count, -- 昨日付费次数
|
|
|
+ MAX(ba3) as ba3, -- 前天付费金额
|
|
|
+ MAX(ba3_count) as ba3_count -- 前天付费次数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY game_id ,parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
+ ) a GROUP BY parent_game_id ,super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
+ ) a GROUP BY super_game_id ,server_id ,boss_server_id ,source_system
|
|
|
) a
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- a.source_system as b_source_system,
|
|
|
- a.server_id as b_server_id,
|
|
|
- a.game_id as b_game_id,
|
|
|
- MAX(a.server_name) as server_name ,
|
|
|
- MAX(a.main_server_id) as main_server_id,
|
|
|
- MAX(c.server_name) as main_server_name,
|
|
|
- MAX(a.son_server_ids) as son_server_ids ,
|
|
|
- GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids,
|
|
|
- GROUP_CONCAT(b.server_name , ',') as source_server_ids_name
|
|
|
- FROM dm_game_order.t_game_server_merge a
|
|
|
- LEFT JOIN dm_game_order.t_game_server_merge b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.source_server_ids = b.server_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system ,
|
|
|
- game_id ,
|
|
|
- server_id ,
|
|
|
- MAX(server_name) as server_name
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
- GROUP BY server_id ,source_system ,game_id
|
|
|
- ) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
|
|
|
- group by a.server_id , a.source_system , a.game_id
|
|
|
+ SELECT
|
|
|
+ a.source_system as b_source_system,
|
|
|
+ a.server_id as b_server_id,
|
|
|
+ a.game_id as b_game_id,
|
|
|
+ MAX(a.server_name) as server_name,
|
|
|
+ MAX(a.main_server_id) as main_server_id, -- 主服ID
|
|
|
+ MAX(c.server_name) as main_server_name, -- 主服名
|
|
|
+ MAX(a.son_server_ids) as son_server_ids , -- 合服子服ID列表
|
|
|
+ GROUP_CONCAT(a.source_server_ids, ',') as source_server_ids, -- 原始子服ID列表
|
|
|
+ GROUP_CONCAT(b.server_name , ',') as source_server_ids_name -- 原始子服名
|
|
|
+ FROM dm_game_order.t_game_server_merge a
|
|
|
+ LEFT JOIN dm_game_order.t_game_server_merge b on a.source_system = b.source_system AND a.game_id = b.game_id AND a.source_server_ids = b.server_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system ,
|
|
|
+ game_id ,
|
|
|
+ server_id ,
|
|
|
+ MAX(server_name) as server_name
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
+ GROUP BY server_id ,source_system ,game_id
|
|
|
+ ) c on a.source_system = c.source_system AND a.game_id = c.game_id AND a.main_server_id = c.server_id
|
|
|
+ group by a.server_id , a.source_system , a.game_id
|
|
|
) b ON a.source_system = b.b_source_system AND a.super_game_id = b.b_game_id AND a.boss_server_id = b.b_server_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 超父-合服维度
|
|
|
- source_system as c_source_system,
|
|
|
- super_game_id as c_super_game_id,
|
|
|
- boss_server_id as c_boss_server_id,
|
|
|
- COUNT(DISTINCT role_id) as role_count -- 角色数量
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY super_game_id, source_system, boss_server_id
|
|
|
+ SELECT
|
|
|
+ -- 超父-合服维度
|
|
|
+ source_system as c_source_system,
|
|
|
+ super_game_id as c_super_game_id,
|
|
|
+ boss_server_id as c_boss_server_id,
|
|
|
+ COUNT(DISTINCT role_id) as role_count -- 角色数量
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY super_game_id, source_system, boss_server_id
|
|
|
) c on a.source_system = c.c_source_system AND a.super_game_id = c.c_super_game_id AND a.boss_server_id = c.c_boss_server_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 超父-合服维度
|
|
|
- a.source_system as d_source_system,
|
|
|
- a.super_game_id as d_super_game_id,
|
|
|
- b.boss_server_id as d_boss_server_id,
|
|
|
- COUNT(a.association_user_id) as new_user_count -- 新用户人数
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- a.source_system ,
|
|
|
- b.id,
|
|
|
- a.game_id ,
|
|
|
- a.server_id,
|
|
|
- a.role_id ,
|
|
|
- a.role_name ,
|
|
|
- b.association_user_id ,
|
|
|
- a.create_time ,
|
|
|
- IFNULL(c.super_game_id , a.game_id) as super_game_id,
|
|
|
- ROW_NUMBER()over(partition by b.association_user_id , a.source_system order by a.create_time asc, a.user_id asc) as num
|
|
|
- FROM dm_game_order.t_game_user_role a
|
|
|
- LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
|
|
|
- LEFT JOIN dm_game_order.t_game c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
- ) a
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- server_id,
|
|
|
- boss_server_id,
|
|
|
- super_game_id
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
- ) b on a.source_system = b.source_system AND a.server_id = b.server_id AND a.super_game_id = b.super_game_id
|
|
|
- WHERE num = 1
|
|
|
- GROUP BY a.super_game_id, b.boss_server_id, a.source_system
|
|
|
+ SELECT
|
|
|
+ -- 超父-合服维度
|
|
|
+ a.source_system as d_source_system,
|
|
|
+ a.super_game_id as d_super_game_id,
|
|
|
+ b.boss_server_id as d_boss_server_id,
|
|
|
+ COUNT(a.association_user_id) as new_user_count -- 新用户人数
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ a.source_system ,
|
|
|
+ b.id,
|
|
|
+ a.game_id ,
|
|
|
+ a.server_id,
|
|
|
+ a.role_id ,
|
|
|
+ a.role_name ,
|
|
|
+ b.association_user_id ,
|
|
|
+ a.create_time ,
|
|
|
+ IFNULL(c.super_game_id , a.game_id) as super_game_id,
|
|
|
+ ROW_NUMBER()over(partition by b.association_user_id , a.source_system order by a.create_time asc, a.user_id asc) as num
|
|
|
+ FROM dm_game_order.t_game_user_role a
|
|
|
+ LEFT JOIN dm_game_order.t_game_user b on a.source_system = b.source_system AND a.user_id = b.id
|
|
|
+ LEFT JOIN dm_game_order.t_game c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
+ ) a
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ boss_server_id,
|
|
|
+ super_game_id
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
+ ) b on a.source_system = b.source_system AND a.server_id = b.server_id AND a.super_game_id = b.super_game_id
|
|
|
+ WHERE num = 1
|
|
|
+ GROUP BY a.super_game_id, b.boss_server_id, a.source_system
|
|
|
) d on a.source_system = d.d_source_system AND a.super_game_id = d.d_super_game_id AND a.boss_server_id = d.d_boss_server_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 超父-合服维度
|
|
|
- source_system as e_source_system,
|
|
|
- super_game_id as e_super_game_id,
|
|
|
- boss_server_id as e_boss_server_id,
|
|
|
- COUNT(DISTINCT user_id) as create_role_count -- 创角人数
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY super_game_id, source_system, boss_server_id
|
|
|
+ SELECT
|
|
|
+ -- 超父-合服维度
|
|
|
+ source_system as e_source_system,
|
|
|
+ super_game_id as e_super_game_id,
|
|
|
+ boss_server_id as e_boss_server_id,
|
|
|
+ COUNT(DISTINCT user_id) as create_role_count -- 创角人数
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY super_game_id, source_system, boss_server_id
|
|
|
) e on a.source_system = e.e_source_system AND a.super_game_id = e.e_super_game_id AND a.boss_server_id = e.e_boss_server_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- -- 超父-合服维度
|
|
|
- a.source_system as f_source_system,
|
|
|
- c.super_game_id as f_super_game_id,
|
|
|
- d.boss_server_id as f_boss_server_id,
|
|
|
- count(DISTINCT IF(Date(NOW()) = day,user_id,NULL)) as ba1_num, -- 今日充值人数
|
|
|
- count(DISTINCT IF(date_add(Date(NOW()),-1)=day,user_id,NULL)) as ba2_num, -- 昨日充值人数
|
|
|
- count(DISTINCT IF(date_add(Date(NOW()),-2)=day,user_id,NULL)) as ba3_num, -- 前天充值人数
|
|
|
- count(DISTINCT user_id) as total_num -- 总充值人数
|
|
|
- FROM dm_game_order.t_game_server a
|
|
|
- LEFT JOIN game_dw.dw_order_day_amount b
|
|
|
- on a.source_system = b.source_system and a.server_id =b.server_id and a.game_id =b.game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system ,
|
|
|
- id,
|
|
|
- IFNULL(parent_id, id) as parent_id,
|
|
|
- IFNULL(super_game_id, id) as super_game_id
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- server_id,
|
|
|
- boss_server_id,
|
|
|
- super_game_id
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
- ) d on a.source_system = d.source_system AND a.server_id = d.server_id AND c.super_game_id = d.super_game_id
|
|
|
- group by a.source_system ,a.server_id ,d.boss_server_id, c.super_game_id
|
|
|
+ SELECT
|
|
|
+ -- 超父-合服维度
|
|
|
+ a.source_system as f_source_system,
|
|
|
+ c.super_game_id as f_super_game_id,
|
|
|
+ d.boss_server_id as f_boss_server_id,
|
|
|
+ count(DISTINCT IF(Date(NOW()) = day,user_id,NULL)) as ba1_num, -- 今日充值人数
|
|
|
+ count(DISTINCT IF(date_add(Date(NOW()),-1)=day,user_id,NULL)) as ba2_num, -- 昨日充值人数
|
|
|
+ count(DISTINCT IF(date_add(Date(NOW()),-2)=day,user_id,NULL)) as ba3_num, -- 前天充值人数
|
|
|
+ count(DISTINCT user_id) as total_num -- 总充值人数
|
|
|
+ FROM dm_game_order.t_game_server a
|
|
|
+ LEFT JOIN game_dw.dw_order_day_amount b
|
|
|
+ on a.source_system = b.source_system and a.server_id =b.server_id and a.game_id =b.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system ,
|
|
|
+ id,
|
|
|
+ IFNULL(parent_id, id) as parent_id,
|
|
|
+ IFNULL(super_game_id, id) as super_game_id
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ boss_server_id,
|
|
|
+ super_game_id
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
+ ) d on a.source_system = d.source_system AND a.server_id = d.server_id AND c.super_game_id = d.super_game_id
|
|
|
+ group by a.source_system ,a.server_id ,d.boss_server_id, c.super_game_id
|
|
|
) f on a.source_system = f.f_source_system AND a.super_game_id = f.f_super_game_id AND a.boss_server_id = f.f_boss_server_id
|
|
|
LEFT JOIN (
|
|
|
- select
|
|
|
- -- 超父-合服维度
|
|
|
- a.source_system as g_source_system,
|
|
|
- d.boss_server_id as g_boss_server_id,
|
|
|
- c.super_game_id as g_super_game_id,
|
|
|
- count(distinct IF(Date(NOW()) = dt,user_id,NULL)) as ba1_active_num, -- 今日活跃人数
|
|
|
- count(distinct IF(date_add(Date(NOW()),-1)=dt,user_id,NULL)) as ba2_active_num, -- 昨日活跃人数
|
|
|
- count(distinct IF(date_add(Date(NOW()),-2)=dt,user_id,NULL)) as ba3_active_num -- 前日活跃人数
|
|
|
- from dm_game_order.t_game_server a
|
|
|
- left join game_dw.dw_active_log b on a.source_system = b.source_system and a.server_id = b.server_id and a.game_id = b.game_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system ,
|
|
|
- id,
|
|
|
- IFNULL(parent_id, id) as parent_id,
|
|
|
- IFNULL(super_game_id, id) as super_game_id
|
|
|
- FROM dm_game_order.t_game
|
|
|
- ) c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system,
|
|
|
- server_id,
|
|
|
- boss_server_id,
|
|
|
- super_game_id
|
|
|
- FROM game_ads.ads_role_combat_num_ranking
|
|
|
- GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
- ) d on a.source_system = d.source_system AND a.server_id = d.server_id AND c.super_game_id = d.super_game_id
|
|
|
- group by a.source_system ,a.server_id ,d.boss_server_id, c.super_game_id
|
|
|
+ select
|
|
|
+ -- 超父-合服维度
|
|
|
+ a.source_system as g_source_system,
|
|
|
+ d.boss_server_id as g_boss_server_id,
|
|
|
+ c.super_game_id as g_super_game_id,
|
|
|
+ count(distinct IF(Date(NOW()) = dt,user_id,NULL)) as ba1_active_num, -- 今日活跃人数
|
|
|
+ count(distinct IF(date_add(Date(NOW()),-1)=dt,user_id,NULL)) as ba2_active_num, -- 昨日活跃人数
|
|
|
+ count(distinct IF(date_add(Date(NOW()),-2)=dt,user_id,NULL)) as ba3_active_num -- 前日活跃人数
|
|
|
+ from dm_game_order.t_game_server a
|
|
|
+ left join game_dw.dw_active_log b on a.source_system = b.source_system and a.server_id = b.server_id and a.game_id = b.game_id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system ,
|
|
|
+ id,
|
|
|
+ IFNULL(parent_id, id) as parent_id,
|
|
|
+ IFNULL(super_game_id, id) as super_game_id
|
|
|
+ FROM dm_game_order.t_game
|
|
|
+ ) c on a.source_system = c.source_system AND a.game_id = c.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ source_system,
|
|
|
+ server_id,
|
|
|
+ boss_server_id,
|
|
|
+ super_game_id
|
|
|
+ FROM game_ads.ads_role_combat_num_ranking
|
|
|
+ GROUP BY source_system, super_game_id, server_id, boss_server_id
|
|
|
+ ) d on a.source_system = d.source_system AND a.server_id = d.server_id AND c.super_game_id = d.super_game_id
|
|
|
+ group by a.source_system ,a.server_id ,d.boss_server_id, c.super_game_id
|
|
|
) g on a.source_system = g.g_source_system AND a.super_game_id = g.g_super_game_id AND a.boss_server_id = g.g_boss_server_id
|
|
|
LEFT JOIN (
|
|
|
- SELECT
|
|
|
- source_system as h_source_system,
|
|
|
- game_id,
|
|
|
- server_id,
|
|
|
- is_merge -- 是否参与过合服
|
|
|
- FROM dm_game_order.t_game_server_merge
|
|
|
+ SELECT
|
|
|
+ source_system as h_source_system,
|
|
|
+ game_id,
|
|
|
+ server_id,
|
|
|
+ is_merge -- 是否参与过合服
|
|
|
+ FROM dm_game_order.t_game_server_merge
|
|
|
) h on a.source_system = h.h_source_system AND a.boss_server_id = h.server_id AND a.super_game_id = h.game_id
|
|
|
""" + cri +
|
|
|
"""
|