内部面试题-2021-01-21

数据分析题1:

某便利店门店为缩短到收银结账等待的时间,准备采用两种排队方式进行试验:一种是所有顾客都进入一个等待队列;另一种是顾客在三个收银窗口处列队三排等待。为比较那种排列方式使顾客等待的时间更短,两种排队方式各随机抽取9名顾客,得到第一种排队方式的平均等待时间为7.2分钟,标准差为1.97分钟,
第二种排队方式的等待时间(单位:分钟)如下:

6.6 6.6 6.7 6.8 7.1 7.3 7.4 7.8 7.8
  1. 比较两种排队方式等待时间的离散程度
  2. 如果让你选择一种排队方式,你会选择哪一种?试说明理由。

SQL题1:

如下表为仓库每季度的出库数量,表名warehouse_units_info,唯一键为(warehouse_code, year, season)
字段:
warehouse_code:仓库编码
year: 年份
season: 季度
out_qty: 季度出库量

warehouse_units_info表中数据如下:

warehouse_code year season out_qty
10011 2018 01 100
10011 2019 01 100
10011 2019 02 200
10011 2019 03 300
10011 2019 04 400
20022 2020 01 100
20022 2019 02 100

请写SQL统计每个仓库每个季度的出库量,要求在一行中显示每年每个季度的销售量,例如:

结果如下:

warehouse_code year season_01 season_02 season_03 season_04
10011 2018 100 NULL NULL NULL
10011 2019 100 200 300 400
20022 2019 NULL 100 NULL NULL
20022 2020 100 NULL NULL NULL

SQL题2:

如下两个表,
a)、app_task_detail_v1 任务明细表,唯一键为(task_no,site_code)
字段:
task_no:任务号
site_code:门店编码
site_name门店名称
b)、app_task_result_v1 任务主单表,唯一键为(task_no,site_code)
字段同app_task_detail_v1表

请说明如下两种写法查询出来的结果是否一致,如果不一致,请说明查询的结果有什么不同?

with app_task_detail_v1 as (
    select '00000986'  as task_no,  '100001' as  site_code union all
    select '00000986'  as task_no,  '100002' as  site_code union all
    select '00000777'  as task_no,  '100003' as  site_code
)

,app_task_result_v1 as (
    select '00000986' as task_no, '100001' as site_code, 'test'  as site_name union all
    select '00000777' as task_no, '100003' as site_code, 'test2' as site_name
)


--第一种写法
select t1.task_no, t1.site_code, t2.site_name
from app_task_detail_v1 t1
left join app_task_result_v1 t2 on t1.task_no = t2.task_no
    and t1.site_code = t2.site_code
where t1.task_no = '00000986'


--第一种写法
select t1.task_no, t1.site_code, t2.site_name
from app_task_detail_v1 t1
left join app_task_result_v1 t2 on t1.task_no = t2.task_no
    and t1.site_code = t2.site_code
    and t1.task_no = '00000986'

SQL题3:

如下表为每天仓库商品的销售记录表warehouse_sale_order_info唯一键为(warehouse_code,sku_code,order_date),
字段:
warehouse_code:仓库编码
sku_code: 商品编码
order_date:销售日期
sale_amount: 销售额

数据如下:

warehouse_code sku_code order_date sale_amount
10011 10001000 2018-12-31 100
10011 10001000 2019-01-01 100
10011 10001000 2019-01-02 100
10011 10001000 2019-01-04 100
10011 10001000 2019-01-05 100
10011 10001000 2019-01-06 100
10011 10001000 2019-01-07 100
20022 20001022 2019-02-06 100
20022 20001022 2019-02-07 100
20022 20001022 2019-03-22 100
20022 20001022 2019-03-23 100
20022 20001022 2019-03-24 100

求每个仓库的品最长的连续销售天数sale_days,结果如下:

warehouse_code sku_code sale_days
20022 20001022 3
10011 10001000 4

SQL题4:

warehouse_sale_order_info数据如下,唯一键为 (warehouse_code,sku_code,order_date)
字段:
warehouse_code:仓库编码
sku_code: 商品编码
order_date:销售日期
sale_amount: 销售额

请写SQL统计2019年1月份按商品销售占比倒序的前80%(含80%)的仓库商品

数据如下:

warehouse_code sku_code order_date sale_amount
10011 10001001 2019-01-01 10
10011 10001002 2019-01-02 20
10011 10001003 2019-01-03 30
10011 10001004 2019-01-04 30
10011 10001005 2019-01-05 10
30031 30001009 2019-01-12 10
30031 30001008 2019-01-13 90
20011 20002006 2019-01-06 100

结果如下:

warehouse_code sku_code order_date sale_amount all_sale_amount sale_rate sale_rate_acc
20011 20002006 2019-01-06 100 100 1 1
10011 10001003 2019-01-03 30 100 0.3 0.3
10011 10001004 2019-01-04 30 100 0.3 0.6
10011 10001002 2019-01-02 20 100 0.2 0.8
上一篇:Python--内置函数


下一篇:Pass-07