美文网首页
数据分析训练营-阶段二作业

数据分析训练营-阶段二作业

作者: 小黄人_913c | 来源:发表于2021-04-08 21:22 被阅读0次

    1、为以上两张表建立Mysql表格,并导入数据

        答:

        1-1-1、创建地区表代码:
           CREATE TABLE area_table ( store_id VARCHAR ( 10 ), area VARCHAR ( 20 ), leader_id INT );

       1-1-2、数据导入为图形化方式导入,结果截图如下:

    地区表结果截图

      1-2-1、创建店铺表代码:

    CREATE TABLE store_table ( store_id VARCHAR ( 10 ), order_id VARCHAR ( 12 ), sales_volume INT, sales_date date );

       1-2-2、数据导入为图形化方式导入,结果截图如下:

    地区表结果截图

    2.1.统计每日每个店铺的销量(10分)

        2-1-1.代码:

          SELECT

         store_id AS 店铺名称,

         sum(sales_volume) AS 销售数量,

         sales_date AS 销售日期

         FROM store_table

         group by store_id,sales_date

         order BY sales_date,store_id;

    2-1-2、运行结果截图:

    每个店铺每日销量运行结果截图

    2.2.统计每日每个区域的销量(10分)

       2-2-1、代码:

            SELECT

                   a.area,

                   sum( sales_volume ),

                   b.sales_date

             FROM

                   area_table a

            LEFT JOIN 

                     store_table b ON a.store_id = b.store_id

            GROUP BY

                  area,sales_date;

    2-2-2、运行结果截图:

    每个地区每日销量运行结果截图

    3.1.请分析代码为什么无法执行出期望结果?(10分)

        答:日期的筛选条件放到了where后面,这样的执行顺序为:表先进行链接,链接后再通过where的条件筛选。

                正确的方式应该为:把日期筛选条件放到on后面,这样可以先进行日期条件筛选,再链接,这样就能取到店铺3的数据。

    3.2.请修改代码,产出报表的设想结果。(10分)

       3-2-1、代码:

        select

              a.store_id

    ,IFNULL(sum(sales_volume),0) as sales_volumes

              from area_table a

    left join

              store_table b

              on a.store_id=b.store_id

             and b.sales_date=DATE_SUB(curdate(),INTERVAL 1 DAY)

    where a.area='alpha'

    GROUP BY a.store_id

    order by a.store_id;

    3-2-2、运行结果截图

    运行结果截图

    4、程序阅读

          6、

                 6-1、from temp_active_hour_table_kps

                 6-2、group by dt,mkey,product_id,device_id,hour

    8、

                 8-1、from temp_active_hour_table_kps

                 8-2、group by dt,mkey,product_id,device_id

                 8-3、select

                                dt

                              ,product_id

                               ,mkey

                               ,min(hour) as hour

                              ,device_id

                              ,'first' as status

                          from temp_active_hour_table_kps

                          group by dt,mkey,product_id,device_id

    10、

            left join

            (

                select

                dt

                ,device_id

                from kps_dwd.kps_dwd_dd_fact_view_new_user

                where dt='${dt_1}'

                group by dt,device_id

            )b on a.dt=b.dt and a.device_id = b.device_id

            group by dt

            ,product_id

            ,mkey

            ,hour

            ,status

            ) a1

    12、

        left join

        asian_channel.dict_lcmas_channel b1

        on a1.mkey = b1.mkey;

    相关文章

      网友评论

          本文标题:数据分析训练营-阶段二作业

          本文链接:https://www.haomeiwen.com/subject/xqzvkltx.html