各個需求也需要背誦
- 需求1:對數(shù)據(jù)進行清洗恨樟,去含null和含空值的數(shù)據(jù)半醉。
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:去除重復(fù)數(shù)據(jù),是職位名稱和公司重復(fù)劝术,只保留招聘時間最近的一個
注意這里是不能直接使用下面代碼的缩多,因為存在一些同一個職位發(fā)布時間不同的情況
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:過濾職位名稱中無“數(shù)據(jù)”兩字的記錄
create view data_1 as
(select *
from data_workplace
where work_name like'%數(shù)據(jù)%'
)
- 需求5:給出表“市場需求量”(包含城市,招聘總量咆槽,職位數(shù)目)
后續(xù)可能還會需要陈轿,所以這里要建個臨時表圈纺,方便后面查看
create view v_data_market_demand as
select city as城市, sum(degreefrom)as 招聘總量,count(*)as職位數(shù)目
from data_1
group by city
需求6:給出表“就業(yè)企業(yè)類型分布"(包含企業(yè)類型秦忿,招聘量,招聘量占比)
需求7:“崗位薪資”(各企業(yè)類型平均工資蛾娶,各工作年限平均工資)
需求8:給出“崗位核心技能”灯谣,包含核心技能+出現(xiàn)頻次+出現(xiàn)頻率
需求9:撰寫報告