實現分析函式
阿新 • • 發佈:2020-12-07
SELECT region, country, category, max(multiIf(rownumber = 1, app, '')) AS col1, max(multiIf(rownumber = 2, app, '')) AS col2, max(multiIf(rownumber = 3, app, '')) AS col3, max(multiIf(rownumber = 4, app, '')) AS col4, max(multiIf(rownumber = 5, app, '')) AS col5, max(multiIf(rownumber = 6, app, '')) AS col6, max(multiIf(rownumber = 7, app, '')) AS col7, max(multiIf(rownumber = 8, app, '')) AS col8, max(multiIf(rownumber = 9, app, '')) AS col9, max(multiIf(rownumber = 10, app, '')) AS col10, max(multiIf(rownumber = 11, app, '')) AS col11, max(multiIf(rownumber = 12, app, '')) AS col12, max(multiIf(rownumber = 13, app, '')) AS col13, max(multiIf(rownumber = 14, app, '')) AS col14, max(multiIf(rownumber = 15, app, '')) AS col15, max(multiIf(rownumber = 16, app, '')) AS col16, max(multiIf(rownumber = 17, app, '')) AS col17, max(multiIf(rownumber = 18, app, '')) AS col18, max(multiIf(rownumber = 19, app, '')) AS col19, max(multiIf(rownumber = 20, app, '')) AS col20, max(multiIf(rownumber = 21, app, '')) AS col21, max(multiIf(rownumber = 22, app, '')) AS col22, max(multiIf(rownumber = 23, app, '')) AS col23, max(multiIf(rownumber = 24, app, '')) AS col24, max(multiIf(rownumber = 25, app, '')) AS col25, max(multiIf(rownumber = 26, app, '')) AS col26, max(multiIf(rownumber = 27, app, '')) AS col27, max(multiIf(rownumber = 28, app, '')) AS col28, max(multiIf(rownumber = 29, app, '')) AS col29, max(multiIf(rownumber = 30, app, '')) AS col30 FROM ( SELECT region, country, category, app, weight, rownumber FROM ( SELECT region, country, category, groupArray(app_id) AS arr_app, groupArray(weight) AS arr_weight, arrayEnumerate(arr_weight) AS rownumber FROM ( SELECT region, country, category, app_id, (sum(active_cnt) / sum(total_active_cnt)) * (sum(duration) / sum(vd_dt_cnt)) AS weight FROM test.f_local_app_rank GROUP BY region, country, category, app_id ORDER BY weight DESC ) AS A GROUP BY region, country, category ) AS AA ARRAY JOIN arr_app AS app, arr_weight AS weight, rownumber ) AS AAA GROUP BY region, country, category ORDER BY region ASC, country ASC, category ASC FORMAT CSV