Advertisement
YuvalGai

Untitled

Sep 8th, 2024
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.86 KB | None | 0 0
  1. select
  2. INTERVAL_DATE,
  3. ARENA_GROUP,
  4. CURRENT_ARENA_INDEX,
  5. TROPHY_GROUP,
  6. TROPHY_GROUP_2,
  7. ARENA,
  8. ARENA_TIERS,
  9. ARENA_RANKS,
  10. LTV_GROUP,
  11. IS_PAYER,
  12. LO_ENTRY_TROPHY_MODE,
  13. LO_ENTRY_TROPHY_GAIN,
  14. LO_ENTRY_TROPHY_LOSS,
  15. LO_ENTRY_MODIFIER_TYPE1,
  16. PVP_MODE,
  17. MATCH_TYPE_ID,
  18. MATCH_TYPE,
  19. MATCH_MODE,
  20. MODIFIER_1,
  21. MODIFIER_2,
  22. MATCH_MODIFIER_3,
  23. MATCH_SUB_TYPE,
  24. RESOURCE_SUB_TYPE,
  25. BOOSTER_NAME,
  26. RIVAL_RESOURCE_SUB_TYPE,
  27. RUMBLE_SIZE,
  28. RIVAL_BOOSTER_NAME,
  29. ROUNDS_CNT,
  30. IS_PRIVATE,
  31. IS_MC_MATCH,
  32. IS_RIVAL_BOT,
  33. TURN_INDEX,
  34. APP_VERSION,
  35. SOLO_TYPE,
  36. MUTATION_OPTIONS,
  37. MUTATIONS_PICK,
  38. ROUNDS,
  39. MATCH_SCORE,
  40. RIVAL_MATCH_SCORE,
  41. MATCH_DURATION_MINS,
  42. BOOSTER_ACTIVATIONS,
  43. RESYNCS,
  44. RESYNC_MATCHES,
  45. ERROR_RESYNCS,
  46. ERROR_RESYNC_MATCHES,
  47. CONCEDED_MATCHES,
  48. CONCEDED_MATCHES_1_10,
  49. CONCEDED_MATCHES_10_60,
  50. CONCEDED_MATCHES_AFTER_60SEC,
  51. OOT,
  52. OOT_MATCHES,
  53. MATCHES,
  54. USERS,
  55. WINS,
  56. AVG_MATCH_RANK,
  57. AGIANST_BOT_MATCHES,
  58. TOTAL_SECONDS_PLAYED_IN_SEGMENT,
  59. TOTAL_BOOSTER_ACTIVATIONS_IN_SEGMENT,
  60. TOTAL_FOURS,
  61. TOTAL_FIVES,
  62. MATCH_MAKING_FOUND_TIME,
  63. PICK_NM,
  64. PICKS,
  65. MATCH_ID,
  66. USER_ID,
  67. to_timestamp(INTERVAL_DATE) as LAST_UPDATED_DT,
  68. current_timestamp() as DW_INSERT_DT
  69. from
  70. (
  71. select
  72. INTERVAL_DATE,
  73. ARENA_GROUP,
  74. CURRENT_ARENA_INDEX,
  75. TROPHY_GROUP,
  76. TROPHY_GROUP_2,
  77. ARENA,
  78. ARENA_TIERS,
  79. ARENA_RANKS,
  80. LTV_GROUP,
  81. IS_PAYER,
  82. LO_ENTRY_TROPHY_MODE,
  83. LO_ENTRY_TROPHY_GAIN,
  84. LO_ENTRY_TROPHY_LOSS,
  85. LO_ENTRY_MODIFIER_TYPE1,
  86. PVP_MODE,
  87. MATCH_TYPE_ID,
  88. MATCH_TYPE,
  89. MATCH_MODE,
  90. MODIFIER_1,
  91. MODIFIER_2,
  92. MATCH_MODIFIER_3,
  93. MATCH_SUB_TYPE,
  94. RESOURCE_SUB_TYPE,
  95. BOOSTER_NAME,
  96. RIVAL_RESOURCE_SUB_TYPE,
  97. RUMBLE_SIZE,
  98. RIVAL_BOOSTER_NAME,
  99. ROUNDS_CNT,
  100. IS_PRIVATE,
  101. IS_MC_MATCH,
  102. IS_RIVAL_BOT,
  103. TURN_INDEX,
  104. APP_VERSION,
  105. SOLO_TYPE,
  106. MUTATION_OPTIONS,
  107. MUTATIONS_PICK,
  108. ROUNDS,
  109. MATCH_SCORE,
  110. RIVAL_MATCH_SCORE,
  111. MATCH_DURATION_MINS,
  112. BOOSTER_ACTIVATIONS,
  113. RESYNCS,
  114. RESYNC_MATCHES,
  115. ERROR_RESYNCS,
  116. ERROR_RESYNC_MATCHES,
  117. CONCEDED_MATCHES,
  118. CONCEDED_MATCHES_1_10,
  119. CONCEDED_MATCHES_10_60,
  120. CONCEDED_MATCHES_AFTER_60SEC,
  121. OOT,
  122. OOT_MATCHES,
  123. MATCHES,
  124. USERS,
  125. WINS,
  126. AVG_MATCH_RANK,
  127. AGIANST_BOT_MATCHES,
  128. TOTAL_SECONDS_PLAYED_IN_SEGMENT,
  129. TOTAL_BOOSTER_ACTIVATIONS_IN_SEGMENT,
  130. TOTAL_FOURS,
  131. TOTAL_FIVES,
  132. MATCH_MAKING_FOUND_TIME,
  133. PICK_NM,
  134. PICKS,
  135. MATCH_ID,
  136. USER_ID,
  137. to_timestamp(INTERVAL_DATE) as LAST_UPDATED_DT,
  138. current_timestamp() as DW_INSERT_DT
  139. from
  140. (
  141. SELECT
  142. match_end_date AS INTERVAL_DATE,
  143. match_id,
  144. user_id,
  145. arena_group,
  146. current_arena_index,
  147. CASE
  148. WHEN trophies_cnt < 1500 THEN '0-1500'
  149. WHEN trophies_cnt < 3800 THEN '1500-3800'
  150. WHEN trophies_cnt < 8000 THEN '3800-8000'
  151. WHEN trophies_cnt < 17000 THEN '8000-17000'
  152. WHEN trophies_cnt < 30000 THEN '17000-30000'
  153. ELSE '30000+'
  154. END AS trophy_group,
  155. CASE
  156. WHEN trophies_cnt < 125 THEN '0-125'
  157. WHEN trophies_cnt < 1400 THEN '125-1400'
  158. WHEN trophies_cnt < 2000 THEN '1400-2000'
  159. WHEN trophies_cnt < 3800 THEN '2000-3800'
  160. WHEN trophies_cnt < 4500 THEN '3800-4500'
  161. WHEN trophies_cnt < 5500 THEN '4500-5500'
  162. WHEN trophies_cnt < 7000 THEN '5500-7000'
  163. WHEN trophies_cnt < 10000 THEN '7000-10000'
  164. WHEN trophies_cnt < 13000 THEN '10000-13000'
  165. WHEN trophies_cnt < 16000 THEN '13000-16000'
  166. WHEN trophies_cnt < 20000 THEN '16000-20000'
  167. WHEN trophies_cnt < 30000 THEN '20000-30000'
  168. WHEN trophies_cnt >= 30000 THEN '30000+'
  169. END AS trophy_group_2,
  170. case
  171. when trophies_cnt < 50 then '0_spotlight_Stars'
  172. when trophies_cnt < 300 then '1_Jungle_Jam'
  173. when trophies_cnt < 500 then '2_Dustville_Duel'
  174. when trophies_cnt < 800 then '3_FireWorks_Festival'
  175. when trophies_cnt < 1100 then '4_Crystal_cave'
  176. when trophies_cnt < 1400 then '5_Laser_Matches'
  177. when trophies_cnt < 1700 then '6_Funcky_Tiles'
  178. when trophies_cnt < 2000 then '7_Plunder_Pirates'
  179. when trophies_cnt < 2300 then '8_Sugar_Rush'
  180. when trophies_cnt < 2600 then '9_Cloud_City'
  181. when trophies_cnt < 2900 then '10_Vegas_Views'
  182. when trophies_cnt < 3200 then '11_Bombs_Away'
  183. when trophies_cnt < 3500 then '12_Tribal_Trouble'
  184. when trophies_cnt < 3800 then '13_Color_Crystals'
  185. when trophies_cnt < 4500 then '14_Challenger_1'
  186. when trophies_cnt < 5500 then '15_Challenger_2'
  187. when trophies_cnt < 7000 then '16_Challenger_3'
  188. when trophies_cnt < 10000 then '17_Master_1'
  189. when trophies_cnt < 13000 then '18_Master_2'
  190. when trophies_cnt < 16000 then '19_Master_3'
  191. when trophies_cnt < 20000 then '20_Grand_Master_1'
  192. when trophies_cnt < 25000 then '21_Grand_Master_2'
  193. when trophies_cnt < 30000 then '22_Grand_Master_3'
  194. when trophies_cnt < 32000 then '23_Legend_1'
  195. when trophies_cnt < 34000 then '24_Legend_2'
  196. when trophies_cnt < 36000 then '25_Legend_3'
  197. when trophies_cnt < 38000 then '26_Legend_4'
  198. when trophies_cnt < 40000 then '27_Legend_5'
  199. when trophies_cnt < 43000 then '28_Supreme_Legend_1'
  200. when trophies_cnt < 46000 then '29_Supreme_Legend_2'
  201. when trophies_cnt < 50000 then '30_Supreme_Legend_3'
  202. when trophies_cnt < 55000 then '31_Supreme_Legend_4'
  203. when trophies_cnt < 60000 then '32_Supreme_Legend_5'
  204. when trophies_cnt < 70000 then '33_Ultimate_Legend_1'
  205. when trophies_cnt < 85000 then '34_Ultimate_Legend_2'
  206. when trophies_cnt < 105000 then '35_Ultimate_Legend_3'
  207. when trophies_cnt < 130000 then '36_Ultimate_Legend_4'
  208. else '37_Ultimate_Legend_5'
  209. end as arena,
  210. case
  211. when trophies_cnt < 3800 then '00_Studio'
  212. when trophies_cnt < 7000 then '01_Challenger'
  213. when trophies_cnt < 16000 then '02_Master'
  214. when trophies_cnt < 30000 then '03_Grand_Master'
  215. when trophies_cnt < 40000 then '04_Legends'
  216. when trophies_cnt < 43000 then '05_Supreme_Legend'
  217. else '06_Ultimate_Legend'
  218. end as arena_tiers,
  219. case
  220. when trophies_cnt < 3800 then '00_Studio'
  221. when trophies_cnt < 30000 then '01_Masters'
  222. else '03_Legends_league'
  223. end as arena_ranks,
  224. ltv_group,
  225. is_payer,
  226. lo_entry_trophy_mode,
  227. lo_entry_trophy_gain,
  228. lo_entry_trophy_loss,
  229. lo_entry_modifier_type1,
  230. pvp_mode,
  231. MATCH_TYPE_ID,
  232. CASE
  233. WHEN is_random_mixer = TRUE THEN 'Daily_Random_Mixer'
  234. ELSE match_type
  235. END AS MATCH_TYPE,
  236. MATCH_MODE,
  237. MODIFIER_1,
  238. MODIFIER_2,
  239. match_modifier_3,
  240. concat(
  241. MATCH_SUB_TYPE,
  242. '-',
  243. MATCH_MODE,
  244. '+',
  245. MODIFIER_1,
  246. '-',
  247. MODIFIER_2,
  248. '-',
  249. match_modifier_3
  250. ) AS match_sub_type,
  251. RESOURCE_SUB_TYPE,
  252. BOOSTER_NAME,
  253. RIVAL_RESOURCE_SUB_TYPE,
  254. RUMBLE_SIZE,
  255. CASE
  256. WHEN PVP_MODE NOT LIKE 'PvP' THEN 'No Rival(Solo/Rumble)'
  257. ELSE RIVAL_BOOSTER_NAME
  258. END RIVAL_BOOSTER_NAME,
  259. rounds_cnt,
  260. is_private,
  261. is_mc_match,
  262. is_rival_bot,
  263. turn_index,
  264. app_version,
  265. CASE
  266. when LO_EVENT_ID like '%-mc-%' then 'MC'
  267. when LO_EVENT_ID like '%cosmic%' then 'cosmic'
  268. when LO_EVENT_ID like '%rally%' then 'rally'
  269. when LO_EVENT_ID like '%heist%' then 'heist'
  270. end Solo_Type,
  271. mutation_options,
  272. mutations_pick,
  273. to_varchar(mutations_pick [0]) pick0,
  274. to_varchar(mutations_pick [1]) pick1,
  275. to_varchar(mutations_pick [2]) pick2,
  276. to_varchar(mutations_pick [3]) pick3,
  277. to_varchar(mutations_pick [4]) pick4,
  278. to_varchar(mutations_pick [5]) pick5,
  279. to_varchar(mutations_pick [6]) pick6,
  280. to_varchar(mutations_pick [7]) pick7,
  281. to_varchar(mutations_pick [8]) pick8,
  282. to_varchar(mutations_pick [9]) pick9,
  283. SUM(ROUNDS_CNT) AS ROUNDS,
  284. SUM(MATCH_SCORE) AS MATCH_SCORE,
  285. SUM(rival_MATCH_SCORE) AS rival_MATCH_SCORE,
  286. SUM(MATCH_DURATION_SEC) / 60 AS MATCH_DURATION_MINS,
  287. SUM(ABILITY_ACTIVATED_CNT) AS BOOSTER_ACTIVATIONS,
  288. SUM(ifnull(CS_RESYNCS, 0)) AS RESYNCS,
  289. COUNT(
  290. DISTINCT CASE
  291. WHEN CS_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  292. END
  293. ) AS RESYNC_MATCHES,
  294. SUM(ifnull(ERROR_RESYNCS, 0)) AS ERROR_RESYNCS,
  295. COUNT(
  296. DISTINCT CASE
  297. WHEN ERROR_RESYNCS > 0 THEN concat(match_id, user_id, rematch_cnt)
  298. END
  299. ) AS ERROR_RESYNC_MATCHES,
  300. SUM(
  301. CASE
  302. WHEN is_conceded = 1
  303. AND is_won = 0
  304. AND match_duration_sec = 0 THEN 1
  305. END
  306. ) AS CONCEDED_MATCHES,
  307. SUM(
  308. CASE
  309. WHEN is_conceded = 1
  310. AND is_won = 0
  311. AND match_duration_sec BETWEEN 1
  312. AND 10 THEN 1
  313. END
  314. ) AS CONCEDED_MATCHES_1_10,
  315. SUM(
  316. CASE
  317. WHEN is_conceded = 1
  318. AND is_won = 0
  319. AND match_duration_sec BETWEEN 10
  320. AND 60 THEN 1
  321. END
  322. ) AS CONCEDED_MATCHES_10_60,
  323. SUM(
  324. CASE
  325. WHEN is_conceded = 1
  326. AND is_won = 0
  327. AND match_duration_sec > 60 THEN 1
  328. END
  329. ) AS CONCEDED_MATCHES_AFTER_60sec,
  330. SUM(ifnull(rival_played_out_of_time, 0)) AS OOT,
  331. COUNT(
  332. DISTINCT CASE
  333. WHEN rival_played_out_of_time > 0 THEN concat(match_id, user_id, rematch_cnt)
  334. END
  335. ) AS OOT_MATCHES,
  336. COUNT(DISTINCT concat(match_id, user_id, rematch_cnt)) AS MATCHES,
  337. count(distinct user_id) users,
  338. SUM(is_won) AS wins,
  339. AVG(MATCH_RANK) AS AVG_MATCH_RANK,
  340. sum(is_rival_bot) AS agianst_bot_MATCHES,
  341. sum(MATCH_DURATION_SEC) as total_seconds_played_in_segment,
  342. sum(ability_activated_cnt) as total_booster_activations_in_segment,
  343. sum(four_matched_cnt) as total_fours,
  344. sum(five_matched_cnt) as total_fives,
  345. sum(match_making_found_time) as match_making_found_time
  346. FROM
  347. MATCH_MASTERS.PROD.F_USER_MATCH a
  348. left join (
  349. SELECT
  350. *
  351. FROM
  352. (
  353. SELECT
  354. *,CASE
  355. WHEN lo_entry_ts IS NULL THEN lo_entry_update_ts
  356. ELSE lo_entry_ts
  357. END lo_entry_ts2,
  358. ROW_NUMBER() OVER (
  359. partition BY lo_entry_id
  360. ORDER BY
  361. lo_entry_ts2 DESC
  362. ) rn
  363. FROM
  364. MATCH_MASTERS.PROD.F_LIVEOPS_CALENDAR
  365. )
  366. WHERE
  367. 1 = 1
  368. AND rn = 1
  369. AND date(DERIVED_TSTAMP) >= current_date -61
  370. ) b on a.calendar_entry_id = b.lo_entry_id
  371. WHERE
  372. is_bot = FALSE
  373. AND MATCH_END_DATE >= current_date -61
  374. AND match_mode = 'mutation-lab-rumble-mode'
  375. GROUP BY
  376. ALL
  377. ) UNPIVOT(
  378. picks FOR pick_nm IN (
  379. pick0,
  380. pick1,
  381. pick2,
  382. pick3,
  383. pick4,
  384. pick5,
  385. pick6,
  386. pick7,
  387. pick8,
  388. pick9
  389. )
  390. ))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement