各个需求也需要背诵
- 需求1:对数据进行清洗,去含null和含空值的数据。
create view v_data_clean_null as
select * from data
where a is not null and a != ' ' and b is not null and b !=' '; #每一行都需要这样操作
- 需求2:去除重复数据,是职位名称和公司重复,只保留招聘时间最近的一个
注意这里是不能直接使用下面代码的,因为存在一些同一个职位发布时间不同的情况
select distinct * from v_data_clean_null;
这里我们对公司职位名字都一致的岗位去重,只保留最近的一个
create view data_distinct as with p as
(select * ,
row_number()over(partition by '公司名','职位名' order by time)as row1
from v_data_clean_null)
select a,b,c,d #除了row1外所有的列名
from p
where row1=1;
- 需求3:招聘岗位限定,只要北上广深
好像大家都喜欢先间隔全部的临时表,再select
另外注意用到了%要换like,而不是=
create view data_workplace as with p as
(select * , (case when workplace like'%北京%' then '北京'
when workplace like'%上海%' then '上海'
... end) as workplace
from data_distinct
)
select *
from p
where workplace is not null
- 需求4:过滤职位名称中无“数据”两字的记录
create view data_1 as
(select *
from data_workplace
where work_name like'%数据%'
)
- 需求5:给出表“市场需求量”(包含城市,招聘总量,职位数目)
后续可能还会需要,所以这里要建个临时表,方便后面查看
create view v_data_market_demand as
select city as城市, sum(degreefrom)as 招聘总量,count(*)as职位数目
from data_1
group by city
需求6:给出表“就业企业类型分布"(包含企业类型,招聘量,招聘量占比)
需求7:“岗位薪资”(各企业类型平均工资,各工作年限平均工资)
需求8:给出“岗位核心技能”,包含核心技能+出现频次+出现频率
需求9:撰写报告