news 2026/7/8 9:08:55

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

作者头像

张小明

前端开发工程师

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/7/1 8:09:13

阿里通义Z-Image-Turbo WebUI商业应用指南:从搭建到盈利的全流程

阿里通义Z-Image-Turbo WebUI商业应用指南&#xff1a;从搭建到盈利的全流程 AI图像生成技术正在快速改变创意产业的面貌&#xff0c;许多创业者已经看到了其中的商业潜力。阿里通义Z-Image-Turbo WebUI作为一款强大的AI图像生成工具&#xff0c;可以帮助用户快速生成高质量的视…

作者头像 李华
网站建设 2026/7/1 9:44:10

阿里通义Z-Image-Turbo WebUI深度解析:如何利用云端GPU实现高效图像生成

阿里通义Z-Image-Turbo WebUI深度解析&#xff1a;如何利用云端GPU实现高效图像生成 作为一名经常需要测试图像生成效果的AI研究员&#xff0c;你是否遇到过本地GPU性能不足、环境配置复杂等问题&#xff1f;本文将详细介绍如何通过阿里通义Z-Image-Turbo WebUI镜像&#xff0c…

作者头像 李华
网站建设 2026/7/1 20:27:36

AI时尚预测:下一季流行色的智能生成与分析

AI时尚预测&#xff1a;下一季流行色的智能生成与分析 前言&#xff1a;当服装设计遇上AI 作为一名服装设计专业的学生&#xff0c;你是否曾为预测下一季流行色而苦恼&#xff1f;传统的色彩趋势分析需要大量市场调研和历史数据比对&#xff0c;耗时耗力。而现在&#xff0c;借…

作者头像 李华
网站建设 2026/7/8 7:37:22

Z-Image-Turbo移动端适配:云端渲染+本地展示的混合架构

Z-Image-Turbo移动端适配&#xff1a;云端渲染本地展示的混合架构 为什么需要云端渲染本地展示的混合架构 作为一名移动应用开发者&#xff0c;你可能遇到过这样的困境&#xff1a;想在APP中集成AI图像生成功能&#xff0c;但移动设备的算力有限&#xff0c;无法流畅运行复杂的…

作者头像 李华
网站建设 2026/6/30 12:40:34

Z-Image-Turbo多模态探索:快速搭建图文生成联合实验环境

Z-Image-Turbo多模态探索&#xff1a;快速搭建图文生成联合实验环境 如果你正在研究多模态生成技术&#xff0c;需要同时处理图像和文本的协同模型&#xff0c;那么Z-Image-Turbo镜像可能是你的理想选择。本文将带你快速搭建一个支持多种模态的实验平台&#xff0c;无需繁琐的环…

作者头像 李华