news 2026/5/1 7:17:51

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

作者头像

张小明

前端开发工程师

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/19 6:30:48

艺术治疗新工具:无障碍AI绘画环境搭建指南

艺术治疗新工具&#xff1a;无障碍AI绘画环境搭建指南 AI绘画技术正在改变艺术治疗的实践方式&#xff0c;但对于电脑技能有限的患者群体来说&#xff0c;复杂的安装和操作流程往往成为使用障碍。本文将介绍如何通过预置镜像快速搭建一个极度简化的AI绘画环境&#xff0c;支持…

作者头像 李华
网站建设 2026/4/29 22:39:12

Z-Image-Turbo二次开发实战:科哥教你快速构建定制化图像生成服务

Z-Image-Turbo二次开发实战&#xff1a;科哥教你快速构建定制化图像生成服务 如果你是一位全栈开发者&#xff0c;想要基于Z-Image-Turbo开发一个垂直领域的图像生成应用&#xff0c;但又不想从零开始搭建复杂的AI环境&#xff0c;那么这篇文章正是为你准备的。Z-Image-Turbo是…

作者头像 李华
网站建设 2026/4/20 6:23:28

周末项目:用Z-Image-Turbo和云端GPU打造你的个人AI画展网站

周末项目&#xff1a;用Z-Image-Turbo和云端GPU打造你的个人AI画展网站 作为一名前端开发者&#xff0c;你是否曾想过在自己的个人网站上展示独特的AI生成艺术作品&#xff1f;Z-Image-Turbo作为阿里通义实验室开源的6B参数图像生成模型&#xff0c;仅需8步即可快速生成高质量图…

作者头像 李华
网站建设 2026/4/30 16:02:51

等保二级与三级深度解析及对比分析

在数字化时代,网络安全等级保护制度已成为企业保障信息安全的重要合规手段。等保二级和三级作为常见的保护级别,在适用场景、技术要求和管理措施等方面存在显著差异。本文将对等保二级和三级进行详细解析,并对比分析两者的核心差异,为企业选择合适的等保级别提供参考。 一…

作者头像 李华
网站建设 2026/4/18 2:38:02

零基础入门AI绘画:用预装Z-Image-Turbo的云端镜像快速创作

零基础入门AI绘画&#xff1a;用预装Z-Image-Turbo的云端镜像快速创作 如果你是一位设计师&#xff0c;想要尝试AI辅助创作&#xff0c;但看到命令行和Python依赖就头疼&#xff0c;那么这篇文章就是为你准备的。Z-Image-Turbo是阿里巴巴通义实验室推出的6B参数图像生成模型&am…

作者头像 李华