• 实现分析函数


    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
    

      

  • 相关阅读:
    perl 调短信接口
    MySQL处理千万级数据查询、分页
    tomcat 设置path 访问路径
    Tomcat 设置内存大小
    Tomcat 80端口启动 必须是root
    tomcat server.xml配置解析
    Perl 发送邮件
    单身北漂生活二、三事(上)——北漂18年(8)
    tomcat 应用访问
    Perl 采集监控日志插入数据库
  • 原文地址:https://www.cnblogs.com/muyue123/p/14098907.html
Copyright © 2020-2023  润新知