news 2026/4/16 1:49:06

统计工龄、学历 年龄 性别 在职人员

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
统计工龄、学历 年龄 性别 在职人员

SELECT--使用CASE语句进行条件判断,根据不同的工龄范围分类--DATEDIFF算出两个时间相差的天数 CASEWHENDATEDIFF(CURDATE(),create_time)/365<1THEN'1年以下'WHENDATEDIFF(CURDATE(),create_time)/365>=1ANDDATEDIFF(CURDATE(),create_time)/365<3THEN'1-3年'WHENDATEDIFF(CURDATE(),create_time)/365>=3ANDDATEDIFF(CURDATE(),create_time)/365<5THEN'3-5年'WHENDATEDIFF(CURDATE(),create_time)/365>=5ANDDATEDIFF(CURDATE(),create_time)/365<10THEN'5-10年'WHENDATEDIFF(CURDATE(),create_time)/365>=10ANDDATEDIFF(CURDATE(),create_time)/365<15THEN'10-15年'WHENDATEDIFF(CURDATE(),create_time)/365>=15THEN'15年以上'ENDASkey_name,COUNT(*)AS value_count FROM `emp` GROUP BY--按照工龄范围分组,以便统计每个范围的人数 CASEWHENDATEDIFF(CURDATE(),create_time)/365<1THEN'1年以下'WHENDATEDIFF(CURDATE(),create_time)/365>=1ANDDATEDIFF(CURDATE(),create_time)/365<3THEN'1-3年'WHENDATEDIFF(CURDATE(),create_time)/365>=3ANDDATEDIFF(CURDATE(),create_time)/365<5THEN'3-5年'WHENDATEDIFF(CURDATE(),create_time)/365>=5ANDDATEDIFF(CURDATE(),create_time)/365<10THEN'5-10年'WHENDATEDIFF(CURDATE(),create_time)/365>=10ANDDATEDIFF(CURDATE(),create_time)/365<15THEN'10-15年'WHENDATEDIFF(CURDATE(),create_time)/365>=15THEN'15年以上'END ORDER BY--根据工龄范围进行升序排序,这里通过自定义排序规则来实现FIELD(key_name,'1年以下','1-3年','3-5年','5-10年','10-15年','15年以上');

上面的语句也可用下面的方法得到

SELECT CASEWHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<1THEN'1年以下'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=1ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<3THEN'1-3年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=3ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<5THEN'3-5年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=5ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<10THEN'5-10年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=10ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<15THEN'10-15年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=15THEN'15年以上'ENDASkey_name,COUNT(*)AS value_count FROM `emp` GROUP BY CASEWHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<1THEN'1年以下'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=1ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<3THEN'1-3年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=3ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<5THEN'3-5年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=5ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<10THEN'5-10年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=10ANDTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)<15THEN'10-15年'WHENTIMESTAMPDIFF(YEAR,create_time,CURRENT_DATE)>=15THEN'15年以上'END ORDER BY--根据工龄范围进行升序排序,这里通过自定义排序规则来实现FIELD(key_name,'1年以下','1-3年','3-5年','5-10年','10-15年','15年以上');

SELECT CASEWHENeducation_background_type=0THEN'小学'WHENeducation_background_type=1THEN'初中'WHENeducation_background_type=2THEN'高中'WHENeducation_background_type=3THEN'大专'WHENeducation_background_type=4THEN'本科'WHENeducation_background_type=5THEN'硕士'WHENeducation_background_type=6THEN'博士'--end后的别名,不能与education_background_type相同--相同则报错ENDeducation_background,count(education_background_type)FROM emp GROUP BY CASEWHENeducation_background_type=0THEN'小学'WHENeducation_background_type=1THEN'初中'WHENeducation_background_type=2THEN'高中'WHENeducation_background_type=3THEN'大专'WHENeducation_background_type=4THEN'本科'WHENeducation_background_type=5THEN'硕士'WHENeducation_background_type=6THEN'博士'END--order by field为自定义排序 ORDERBYFIELD(education_background,'小学','初中','高中','大专','本科','硕士','博士')

#对于统计,一般思路是按字段分组,在select上用count、casewhen,字段是数字的考虑sum、avg #TIMESTAMPDIFF用来计算年、月、日、小时、分钟、秒等不同单位的时间差 SELECT CASEWHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=25THEN'25以下'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>25ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=30THEN'26-30'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>30ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=40THEN'31-40'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>40ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=50THEN'41-50'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>50THEN'51以上'ENDbirth_diff,count(birth_day)FROM `emp` WHERE birth_day IS NOT NULL GROUP BY CASEWHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=25THEN'25以下'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>25ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=30THEN'26-30'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>30ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=40THEN'31-40'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>40ANDTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)<=50THEN'41-50'WHENTIMESTAMPDIFF(YEAR,birth_day,CURRENT_DATE)>50THEN'51以上'END ORDERBYFIELD(birth_diff,'25以下','26-30','31-40','41-50','51以上')

SELECT CASEWHENtype=1THEN'正式工'WHENtype=0THEN'非正式工'ENDis_type,count(type)FROM emp WHERE type IS NOT NULL GROUP BY type

https://blog.csdn.net/qq_31676725/article/details/143642121

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 15:09:24

AI图像生成新标杆:阿里通义Z-Image-Turbo WebUI快速体验报告

AI图像生成新标杆&#xff1a;阿里通义Z-Image-Turbo WebUI快速体验报告 前言&#xff1a;为什么选择通义Z-Image-Turbo&#xff1f; 作为一名长期关注AI图像生成技术的博主&#xff0c;我最近测试了阿里最新发布的通义Z-Image-Turbo模型。这款基于WebUI的解决方案在保持Stable…

作者头像 李华
网站建设 2026/4/12 13:58:32

如何解决 pip install 网络报错 403 Forbidden(访问被阻止)问题

摘要 本文聚焦pip install安装第三方库时出现的403 Forbidden&#xff08;访问被阻止&#xff09;报错&#xff0c;该报错核心是pip向PyPI源服务器、企业代理/网关发起的请求被明确拒绝&#xff0c;而非“资源不存在”或“网络超时”。根源主要包括企业网关/防火墙的UA/IP拦截…

作者头像 李华
网站建设 2026/4/15 20:18:01

科哥的Z-Image-Turbo黑科技:5个提升效率的隐藏技巧

科哥的Z-Image-Turbo黑科技&#xff1a;5个提升效率的隐藏技巧 如果你已经熟悉Z-Image-Turbo的基础用法&#xff0c;想要进一步挖掘这个超快图像生成引擎的潜力&#xff0c;那么这篇文章就是为你准备的。Z-Image-Turbo作为2025年最快的生产级图像生成器之一&#xff0c;仅需8步…

作者头像 李华
网站建设 2026/4/15 19:02:22

告别CUDA报错:预装镜像带你轻松玩转Z-Image-Turbo

告别CUDA报错&#xff1a;预装镜像带你轻松玩转Z-Image-Turbo 作为一名计算机专业的学生&#xff0c;在课程项目中需要使用AI生成图像时&#xff0c;你是否曾被各种依赖包冲突和CUDA版本问题困扰得焦头烂额&#xff1f;本文将介绍如何通过预装好的Z-Image-Turbo镜像&#xff0c…

作者头像 李华