SQL 招聘网站岗位数据分析

news2024/12/26 18:16:48

数据清洗

1.删除包含空字段的行

create view v_data_clean_null as
select * from `data` d where 
job_href is not null and job_href != '' and
job_name is not null and job_name != '' and
company_href is not null and company_href != '' and
company_name is not null and company_name != '' and
providesalary_text is not null and providesalary_text != '' and
workarea is not null and workarea != '' and
workarea_text is not null and workarea_text != '' and
companytype_text is not null and companytype_text != '' and
degreefrom is not null and degreefrom != '' and
workyear is not null and workyear != '' and
updatedate is not null and updatedate != '' and
issuedate is not null and issuedate != '' and
parse2_job_detail is not null and parse2_job_detail != '';

2.按照企业和岗位进行去重保留最新一条

-- 去掉排序字段,把需要的字段都输入一遍
create view v_data_clean_distinct as
with p as 
(select *,
row_number () over (partition by company_name,job_name order by issuedate) as row1
from v_data_clean_null )
select 
 id,
 job_href,
 job_name,
 company_href,
 company_name,
 providesalary_text,
 workarea,
 workarea_text,
 updatedate,
 companytype_text,
 degreefrom,
 workyear,
 issuedate,
 parse2_job_detail
from p where row1=1;

3.筛选招聘地区在北上广深

-- 过滤招聘地区
create view v_data_clean_workplace as 
select * from 
(select *,
case 
	when workarea_text like '%北京%' then '北京' 
	when workarea_text like '%上海%' then '上海' 
	when workarea_text like '%广州%' then '广州' 
	when workarea_text like '%深圳%' then '深圳' 
end as workplace
from v_data_clean_distinct ) a where a.workplace is not null;

4.过滤周边岗位保留任职要求包含数据的岗位

create view v_data_clean_jobname as
select * from v_data_clean_workplace vdcw where job_name like '%数据%';
-- 最终清洗结果
create view v_data_clean as
(select * from v_data_clean_jobname);

市场需求量

需求1:按照城市分组统计招聘总量和招聘职位数

create view v_data_market_demand as
select workplace as '城市',
sum(degreefrom) as '招聘总量',
count(*) as '职位数'
from v_data_clean group by workplace;

 

就业企业类型分布

需求2:按照企业类型进行招聘量的统计及招聘占比计算

create view v_data_companytype_degree as
select companytype_text as '企业类型',
companytype_degreefrom as '招聘总量',
concat(cast(companytype_degreefrom /sum_degreefrom*100 as decimal(4,2)),'%') as '招聘占比'  
from 
(select companytype_text ,
sum(degreefrom) as companytype_degreefrom 
from v_data_clean group by companytype_text) f1,
(select sum(degreefrom) as sum_degreefrom from v_data_clean) f2
order by companytype_degreefrom desc;

岗位薪资

需求3:计算岗位薪资的单位,最大,最小值,均值

create view v_data_salary_min_max_mean as
with p as
(select * ,
cast(
(case 
	when unit=10000 then substring_index(substring_index(providesalary_text,'万/月',1),'-',1)
	when unit=1000 then substring_index(substring_index(providesalary_text,'千/月',1),'-',1)
	when unit=833 then substring_index(substring_index(providesalary_text,'万/年',1),'-',1)
end ) as decimal(10,2))*unit as salary_min,
cast(
(case 
	when unit=10000 then substring_index(substring_index(providesalary_text,'万/月',1),'-',-1)
	when unit=1000 then substring_index(substring_index(providesalary_text,'千/月',1),'-',-1)
	when unit=833 then substring_index(substring_index(providesalary_text,'万/年',1),'-',-1)
end ) as decimal(10,2))*unit as salary_max
from v_data_salary_unit) 
select *,cast((salary_min+salary_max)/2 as decimal(10,2)) as salary_mean from p;

 需求4:按照工作年限分组,计算各组平均薪资

create view v_data_workyear_salary as
select workyear as '工作年限',
avg(salary_mean) as '平均薪资'
from v_data_salary_min_max_mean 
group by workyear 
order by length(workyear),workyear ;

需求5:按照企业类型分组,计算各组平均薪资

create view v_data_companytype_salary as
select companytype_text  as '企业类型',
avg(salary_mean) as '平均薪资'
from v_data_salary_min_max_mean 
group by companytype_text 
order by avg(salary_mean) desc ;

 

岗位核心技能

需求6:查询技能点在招聘任职要求中出现的次数及前30

create view v_data_skill_quantity as
select st.skill ,
count(*) as quantity
from v_data_clean v 
inner join skill_table st on v.parse2_job_detail like concat('%',st.skill,'%')
group by st.skill 
order by quantity desc limit 30;

需求7:计算各个技能点出现的频率

create view v_data_skill as
select skill as '技能点',
quantity as '出现频数',
concat(cast(quantity/total_quantity*100 as decimal(10,2)),'%') as '出现频率'
from v_data_skill_quantity ,(select count(*) as total_quantity from v_data_clean ) as f;

 总结

1.上海对于数据分析师需求最大

2.数据分析师在工作第5年薪资即可翻倍

3.民营企业对数据分析师需求最大

4.SQL,大数据,EXCEL,报告撰写等是数据分析岗位中普遍的要求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI ChatGPT Unity接入

OpenAI ChatGPT Unity接入 OpenAI ChatGPT Unity接入OpenAi-API-Unity 方法OpenAi-API-Unity 下载本地配置Unity 模块URL接入gz 接入json 接入Open AIOpenAi-Api-Unity 插件文档 OpenAi 本地化接入 Unity 方法Unity 关键字识别语音合成 & 文字转语音音频记录 & 实时音频…

基于物联网及云计算技术的智慧充电桩平台设计方案

针对目前的充电桩监管难题,如何逐一击破各个痛点? TSINGSEE可提供基于"智能充电设备+云平台+APP小程序"一体化完整的解决方案,解决当前充电桩运营商面临的各种运营和管理难题。 一、方案介绍 方案充分利用…

容器技术的发展

容器技术的发展 近年来,随着计算机硬件、网络以及云计算等技术的迅速发展,云原生的概念也越来越受到业界人士的广泛关注,越来越多的应用场景开始拥抱云原生,其中容器技术的发展起着至关重要的作用。本章将介绍容器技术的基础知识…

瘦身必备!四款低卡美食狂掉20斤肥肉

夏天来了,想要减肥瘦身,却总是被高卡路里的食物所困扰?别担心,今天我为大家介绍四款低卡掉秤减脂美食,让你轻松享受美食的同时还能达到减肥的目的。 这四款美食简单易做,口感也十分好吃,适合各…

《花雕学AI》ChatGPT 的 Prompt 用法,不是随便写就行的,这 13 种才是最有效的

ChatGPT 是一款基于 GPT-3 模型的人工智能写作工具,它可以根据用户的输入和要求,生成各种类型和风格的文本内容,比如文章、故事、诗歌、对话、摘要等。ChatGPT 的强大之处在于它可以灵活地适应不同的写作场景和目的,只要用户给出合…

【STM32】定时器PWM模式详解

PWM模式: PWM模式1,向上计数时,PWM信号从有效电平变为无效电平 PWM模式2,向上计数时,PWM信号从无效电平变为有效电平 PWM极性: 极性为高时,高电平为有效电平,低电平为无效电平 极性…

【Android取证篇】Android设备USB调试打开方式(开发者模式)

【Android取证篇】Android设备USB调试打开方式(开发者模式) Android各个版本系统手机开启”USB调试”的入口不全相同,仅供参考—【蘇小沐】 1、【Android1.0-3.2】 路径:在应用列表选择「设置」->「应用程序」->「开发」->勾选「USB调试」选…

拿来吧你——一个类帮你搞定SpringBoot中的请求日志打印

拿来吧你——一个类帮你搞定SpringBoot中的请求日志打印 日常开发工作中避免不了要打印请求日志,这个功能几乎在所有的项目中都需要编写一次,重复的次数多了,难免会感觉繁琐,因此打算搞一个通用类把这块功能拆出来。 废话不多说—…

虹科方案|使用 HK-TRUENAS支持媒体和娱乐工作流程-1

一、摘要 开发和交付能够随时随地触及受众的媒体内容变得越来越重要和复杂。 在当今高度互联、娱乐驱动的世界中,媒体和娱乐 (M&E) 公司需要保持竞争力才能取得成功。 这些组织需要制作各种不同格式的信息和娱乐内容,以便在移动设备、台式机、工作站…

MySQL---基本操作DDL(SQL特点,数据类型,对数据库的操作,对表的操作)

1. SQL的特点 具有综合统一性,不同数据库的支持的SQL稍有不同 非过程化语言 语言简捷,用户容易接受 以一种语法结构提供两种使用方式 2. 对数据库的常用操作 功能 SQL 查看所有的数据库 show databases; 创建数据库 create databa…

设备驱动模型:总线-设备-驱动

1 设备驱动模型简介 参考 以下内容: Linux 笔记: https://xuesong.blog.csdn.net/article/details/109522945?spm1001.2014.3001.5502正点原子-左盟主 驱动开发网络资料:https://www.cnblogs.com/lizhuming/category/1859545.html 1.1 概…

Github的加速访问

文章目录 概述Steam的下载Steam的安装使用 概述 GitHub打开访问速度比较慢,这儿介绍一种加速访问的方式,是正规的方式,采用 Steam 来加速。 Steam的下载 浏览器输入框输入Watt Toolkit进行搜索, 选择官网进入,网址 …

蚂蚁安全科技 Nydus 与 Dragonfly 镜像加速实践 | 龙蜥技术

编者按:本文详细介绍蚂蚁安全科技使用龙蜥社区技术进行镜像加速的实践过程,可以让您了解如何基于龙蜥社区推出的容器镜像,Nydus 与 Dragonfly 镜像加速技术和 LifseaOS 为容器的启动加速。文章转自金融级分布式架构,以下为全文。 …

计算材料学有哪些SCI期刊推荐? - 易智编译EaseEditing

以下是一些计算材料学领域的SCI期刊推荐: Computational Materials Science: 该期刊发表计算材料科学的理论、计算和实验研究,包括材料结构、热力学、物理和化学性质以及材料的设计、制备和性能等方面的内容。 Materials Horizons&#xff1…

JavaWeb——HTML中的常用标签详解

目录 一、HTML 1、HTML标签结构 2、HTML文件结构 (1)、定义 (2)、标签层次结构 二、HTML常见标签 1、注释标签 2、标题标签 3、段落标签 4、换行标签 5、格式化标签 6、图片标签 (1)、定义 &a…

4。计算机组成原理(3)指令系统

嵌入式软件开发,非科班专业必须掌握的基本计算机知识 核心知识点:数据表示和运算、存储系统、指令系统、总线系统、中央处理器、输入输出系统 指令系统(Instruction Set)是计算机体系结构的关键组成部分之一,它定义了处…

Java面试题复习(1)

目录 1.mysql使用innodb引擎,请简述mysql索引的最左前缀,如何优化order by语句 2.在JVM内存模型中,为什么要区分新生去和老年代,对于新生代为什么要区分eden区和survial区? 3.常见的远程调用有几种 4.对于外部衔接的…

ChatGPT总是答非所问?如何使用chatgpt定义角色

一、📝 定义角色:ChatGPT 的角色设定 背景信息:提供详细、准确的背景信息和前提条件,以便 ChatGPT 提供有针对性的回答和建议 任务目标:清晰地描述希望 ChatGPT 完成的任务 输出要求:告知 ChatGPT 如何完…

chatgpt应用市场

简介:利用ChatGPT的模型能力可以开发出垂直领域的应用市场。例如,可以使用ChatGPT来构建一个智能医疗助手,该助手可以回答患者关于疾病、症状、治疗方案等方面的问题。另外,也可以使用ChatGPT来构建一个智能金融助手,该助手可以回答用户关于投资、理财、贷款等方面的问题。…

MySQL的两个原则,两个优化,一个bug

背景:因为间隙锁在可重复读隔离级别下才有效,所以本篇文章接下来的描述,若没有特殊说明,默认 是可重复读隔离级别。 1.加锁规则里面,包含了两个“原则”、两个“优化”和一个“bug”。 (1). 原则1:加锁的基本单位是n…