Advertisement
YuvalGai

Untitled

Sep 8th, 2024
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.88 KB | None | 0 0
  1. select
  2. INTERVAL_DATE,
  3. ARENA_GROUP,
  4. TROPHY_GROUP,
  5. LTV_GROUP,
  6. IS_PAYER,
  7. SENIORITY_BIN,
  8. PVP_MODE,
  9. MATCH_TYPE_ID,
  10. MATCH_TYPE,
  11. MATCH_MODE,
  12. MODIFIER_1,
  13. MODIFIER_2,
  14. RESOURCE_SUB_TYPE,
  15. RIVAL_RESOURCE_SUB_TYPE,
  16. RUMBLE_SIZE,
  17. ROUNDS_CNT,
  18. PERK_USED,
  19. INTERVAL_DATE as LAST_UPDATED_DT,
  20. current_timestamp() as DW_INSERT_DT,
  21. SUM(ROUNDS_CNT) AS ROUNDS,
  22. SUM(MATCH_SCORE) AS MATCH_SCORE,
  23. SUM(MATCH_DURATION_MINS) AS MATCH_DURATION_MINS,
  24. SUM(BOOSTER_ACTIVATIONS) AS BOOSTER_ACTIVATIONS,
  25. SUM(RESYNCS) as RESYNCS,
  26. COUNT(distinct RESYNC_MATCHES) as RESYNC_MATCHES,
  27. SUM(ERROR_RESYNCS) AS ERROR_RESYNCS,
  28. COUNT(distinct ERROR_RESYNC_MATCHES) AS ERROR_RESYNC_MATCHES,
  29. SUM(CONCEDED_MATCHES) AS CONCEDED_MATCHES,
  30. SUM(CONCEDED_MATCHES_1_10) AS CONCEDED_MATCHES_1_10,
  31. SUM(CONCEDED_MATCHES_10_60) AS CONCEDED_MATCHES_10_60,
  32. SUM(CONCEDED_MATCHES_AFTER_60sec) AS CONCEDED_MATCHES_AFTER_60sec,
  33. SUM(OOT) AS OOT,
  34. COUNT(OOT_MATCHES) AS OOT_MATCHES,
  35. COUNT(distinct MATCHES) as MATCHES,
  36. sum(wins) as wins,
  37. AVG(AVG_MATCH_RANK) AS AVG_MATCH_RANK
  38. from
  39. (
  40. (
  41. select
  42. distinct match_end_date AS INTERVAL_DATE,
  43. arena_group,
  44. CASE
  45. WHEN trophies_cnt < 1500 THEN '0-1500'
  46. WHEN trophies_cnt < 3800 THEN '1500-3800'
  47. WHEN trophies_cnt < 8000 THEN '3800-8000'
  48. WHEN trophies_cnt < 17000 THEN '8000-17000'
  49. WHEN trophies_cnt < 30000 THEN '17000-30000'
  50. ELSE '30000+'
  51. END AS trophy_group,
  52. ltv_group,
  53. is_payer,
  54. seniority_bin,
  55. pvp_mode,
  56. MATCH_TYPE_ID,
  57. CASE
  58. WHEN is_random_mixer = TRUE THEN 'Daily_Random_Mixer'
  59. ELSE match_type
  60. END as MATCH_TYPE,
  61. MATCH_MODE,
  62. MODIFIER_1,
  63. MODIFIER_2,
  64. RESOURCE_SUB_TYPE,
  65. rival_resource_sub_type,
  66. RUMBLE_SIZE,
  67. rounds_cnt,
  68. perk_1_resource_name perk_used,
  69. ROUNDS_CNT AS ROUNDS,
  70. MATCH_SCORE AS MATCH_SCORE,
  71. MATCH_DURATION_SEC / 60 AS MATCH_DURATION_MINS,
  72. ABILITY_ACTIVATED_CNT AS BOOSTER_ACTIVATIONS,
  73. ifnull(CS_RESYNCS, 0) AS RESYNCS,
  74. CASE
  75. WHEN CS_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  76. END AS RESYNC_MATCHES,
  77. ifnull(ERROR_RESYNCS, 0) AS ERROR_RESYNCS,
  78. CASE
  79. WHEN ERROR_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  80. END AS ERROR_RESYNC_MATCHES,
  81. Case
  82. when is_conceded = 1
  83. and is_won = 0
  84. and match_duration_sec = 0 then 1
  85. end AS CONCEDED_MATCHES,
  86. Case
  87. when is_conceded = 1
  88. and is_won = 0
  89. and match_duration_sec between 1
  90. and 10 then 1
  91. end AS CONCEDED_MATCHES_1_10,
  92. Case
  93. when is_conceded = 1
  94. and is_won = 0
  95. and match_duration_sec between 10
  96. and 60 then 1
  97. end AS CONCEDED_MATCHES_10_60,
  98. Case
  99. when is_conceded = 1
  100. and is_won = 0
  101. and match_duration_sec > 60 then 1
  102. end AS CONCEDED_MATCHES_AFTER_60sec,
  103. ifnull(rival_played_out_of_time, 0) AS OOT,
  104. CASE
  105. WHEN rival_played_out_of_time > 0 THEN concat(match_id, user_id, rematch_cnt)
  106. END as OOT_MATCHES,
  107. concat(match_id, user_id, rematch_cnt) as MATCHES,
  108. is_won as wins,
  109. MATCH_RANK AS AVG_MATCH_RANK
  110. FROM
  111. MATCH_MASTERS.PROD.F_USER_MATCH
  112. where
  113. is_bot = false
  114. and MATCH_END_DATE >= current_date - 61
  115. )
  116. union all
  117. (
  118. select
  119. distinct match_end_date AS INTERVAL_DATE,
  120. arena_group,
  121. CASE
  122. WHEN trophies_cnt < 1500 THEN '0-1500'
  123. WHEN trophies_cnt < 3800 THEN '1500-3800'
  124. WHEN trophies_cnt < 8000 THEN '3800-8000'
  125. WHEN trophies_cnt < 17000 THEN '8000-17000'
  126. WHEN trophies_cnt < 30000 THEN '17000-30000'
  127. ELSE '30000+'
  128. END AS trophy_group,
  129. ltv_group,
  130. is_payer,
  131. seniority_bin,
  132. pvp_mode,
  133. MATCH_TYPE_ID,
  134. CASE
  135. WHEN is_random_mixer = TRUE THEN 'Daily_Random_Mixer'
  136. ELSE match_type
  137. END as MATCH_TYPE,
  138. MATCH_MODE,
  139. MODIFIER_1,
  140. MODIFIER_2,
  141. RESOURCE_SUB_TYPE,
  142. rival_resource_sub_type,
  143. RUMBLE_SIZE,
  144. rounds_cnt,
  145. perk_2_resource_name perk_used,
  146. ROUNDS_CNT AS ROUNDS,
  147. MATCH_SCORE AS MATCH_SCORE,
  148. MATCH_DURATION_SEC / 60 AS MATCH_DURATION_MINS,
  149. ABILITY_ACTIVATED_CNT AS BOOSTER_ACTIVATIONS,
  150. ifnull(CS_RESYNCS, 0) AS RESYNCS,
  151. CASE
  152. WHEN CS_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  153. END AS RESYNC_MATCHES,
  154. ifnull(ERROR_RESYNCS, 0) AS ERROR_RESYNCS,
  155. CASE
  156. WHEN ERROR_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  157. END AS ERROR_RESYNC_MATCHES,
  158. Case
  159. when is_conceded = 1
  160. and is_won = 0
  161. and match_duration_sec = 0 then 1
  162. end AS CONCEDED_MATCHES,
  163. Case
  164. when is_conceded = 1
  165. and is_won = 0
  166. and match_duration_sec between 1
  167. and 10 then 1
  168. end AS CONCEDED_MATCHES_1_10,
  169. Case
  170. when is_conceded = 1
  171. and is_won = 0
  172. and match_duration_sec between 10
  173. and 60 then 1
  174. end AS CONCEDED_MATCHES_10_60,
  175. Case
  176. when is_conceded = 1
  177. and is_won = 0
  178. and match_duration_sec > 60 then 1
  179. end AS CONCEDED_MATCHES_AFTER_60sec,
  180. ifnull(rival_played_out_of_time, 0) AS OOT,
  181. CASE
  182. WHEN rival_played_out_of_time > 0 THEN concat(match_id, user_id, rematch_cnt)
  183. END as OOT_MATCHES,
  184. concat(match_id, user_id, rematch_cnt) as MATCHES,
  185. is_won as wins,
  186. MATCH_RANK AS AVG_MATCH_RANK
  187. FROM
  188. MATCH_MASTERS.PROD.F_USER_MATCH
  189. where
  190. 1 = 1
  191. and is_bot = false
  192. and MATCH_END_DATE >= current_date - 61
  193. )
  194. )
  195. GROUP BY
  196. 1,
  197. 2,
  198. 3,
  199. 4,
  200. 5,
  201. 6,
  202. 7,
  203. 8,
  204. 9,
  205. 10,
  206. 11,
  207. 12,
  208. 13,
  209. 14,
  210. 15,
  211. 16,
  212. 17,
  213. 18
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement