数据分析题1:
某便利店门店为缩短到收银结账等待的时间,准备采用两种排队方式进行试验:一种是所有顾客都进入一个等待队列;另一种是顾客在三个收银窗口处列队三排等待。为比较那种排列方式使顾客等待的时间更短,两种排队方式各随机抽取9名顾客,得到第一种排队方式的平均等待时间为7.2分钟,标准差为1.97分钟,
第二种排队方式的等待时间(单位:分钟)如下:
6.6 | 6.6 | 6.7 | 6.8 | 7.1 | 7.3 | 7.4 | 7.8 | 7.8 |
- 比较两种排队方式等待时间的离散程度
- 如果让你选择一种排队方式,你会选择哪一种?试说明理由。
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 |