SQL每日一题(4)

前言:第四更 虽然已经全部做完了,这套卷子非常推荐!

根据题目还原出来的原始表

employees表

idnameagestatus
1张三28在岗
2李四35在岗
3王五42在岗
4赵六NULL在岗
5钱七58在岗
6孙八24在岗
7周九31离职
8吴十-5在岗
9郑十一45在岗
10王十二52在岗

 题目1:

查询在岗员工各个年龄段的人数,结果输出年龄段及对应的人数,按年龄段升序排序。
年龄段划分及排序(默认左闭右开):25 岁以下,25 - 30 岁,30 - 35 岁,35 - 40 岁,40 - 45 岁,45 - 50 岁,50 - 55 岁,55 岁及以上,异常情况。
结果输出:年龄段,人数。
备注:异常情况 为空值、异常值等

题目2:

人数第 2 多的年龄段是哪个?对应人数是多少?异常情况有多少人?
填写示例:35 - 40 岁 300 10

题目1:思路 利用case when 语句

SELECTCASEWHEN age < 25 THEN '25岁以下'WHEN age >= 25 AND age < 30 THEN '25-30岁'WHEN age >= 30 AND age < 35 THEN '30-35岁'WHEN age >= 35 AND age < 40 THEN '35-40岁'WHEN age >= 40 AND age < 45 THEN '40-45岁'WHEN age >= 45 AND age < 50 THEN '45-50岁'WHEN age >= 50 AND age < 55 THEN '50-55岁'WHEN age >= 55 THEN '55岁及以上'ELSE '异常情况'END AS age_group,COUNT(*) AS num_people
FROM employees
GROUP BY age_group  -- 使用列别名分组
ORDER BYCASE age_group  -- 直接对age_group进行排序WHEN '25岁以下' THEN 1WHEN '25-30岁' THEN 2WHEN '30-35岁' THEN 3WHEN '35-40岁' THEN 4WHEN '40-45岁' THEN 5WHEN '45-50岁' THEN 6WHEN '50-55岁' THEN 7WHEN '55岁及以上' THEN 8ELSE 9END;

   题目二:思路将题目1转换为t1表,在对t1表进行row_number()窗口函数进行排序结合order by即可搜索,其他直接查询

查询第二年龄段的人数 

WITH t1 AS (SELECTCASE ... END AS age_group,COUNT(*) AS num_peopleFROM employeesGROUP BY age_group
),
t2 AS (SELECTnum_people,age_group,DENSE_RANK() OVER (ORDER BY num_people DESC) AS rkFROM t1
)
SELECT num_people,age_group
FROM t2
WHERE rk = 2;

查询异常人数 直接从employees表进行查询即可 

SELECT COUNT(*) AS num异常 
FROM employees 
WHERE age IS NULL OR age <= 0;

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

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

相关文章

如何做好一份技术文档?

文章目录 前言一、技术文档的核心原则二、技术文档的类型与场景三、技术文档的写作流程3.1 需求分析阶段&#xff08;文档生产的基础&#xff09;3.2 架构设计阶段&#xff08;文档的骨架搭建&#xff09;3.3 内容开发阶段&#xff08;血肉填充&#xff09;3.4 质量保障阶段&am…

怎么判断一个Android APP使用了KMM这个跨端框架

要判断一个 Android 应用是否使用了 KMM&#xff08;Kotlin Multiplatform Mobile&#xff09; 框架&#xff0c;可以通过以下方法逐步验证&#xff1a; 一、安装包结构分析 解压 APK 将 .apk 文件重命名为 .zip 并解压&#xff0c;检查以下特征&#xff1a; • kotlin/ 目录&a…

Axure系统原型设计列表版方案

列表页面是众多系统的核心组成部分&#xff0c;承担着数据呈现与基础交互的重要任务。一个优秀的列表版设计&#xff0c;能够极大提升用户获取信息的效率&#xff0c;优化操作体验。下面&#xff0c;我们将结合一系列精心设计的列表版方案图片&#xff0c;深入探讨如何打造出实…

HarmonyOS优化应用内存占用问题性能优化四

一、使用purgeable优化C内存 Purgeable Memory是HarmonyOS中native层常用的内存管理机制&#xff0c;可用于图像处理的Bitmap、流媒体应用的一次性数据、图片等。应用可以使用Purgeable Memory存放其内部的缓存数据&#xff0c;并由系统根据淘汰策略统一管理全部的purgeable内存…

第一课如何学习课程

读薄就这些东西 读厚细节&#xff1b;实现了还是很混沌&#xff08;内功心法&#xff09;-》有个项目&#xff1b;在听的过程中写博客&#xff1a;我学了什么&#xff0c;敲代码&#xff1b; 第二章 网络-》9.1kv存储 第三章 基础组件 &#xff08;API函数、最基础的底层架构…

Linux 系统不终止进程的情况下关闭长连接

使用 tcpkill 中断指定 TCP 连接 适用场景&#xff1a;需主动中断已知源IP或目标端口的连接&#xff0c;无需进程重启。 安装 dsniff 工具&#xff08;包含 tcpkill&#xff09;&#xff1a; yum -y install dsniff 捕获并杀死特定连接&#xff08;例如目标IP 192.168.1.10…

TCP原理解析

目录 TCP协议概述 1. 基础寻址段​​ ​​2. 序列控制段​​ ​​3. 控制信息段​​ ​​4. 流量控制段​​ ​​5. 校验与应急段​​ ​​6. 扩展功能段​​ ​​7. 数据承载段​​ TCP原理 确认应答与序列号(安全机制) 超时重传机制(安全机制) 连接管理机制&…

抛弃传统P2P技术,EasyRTC音视频基于WebRTC打造教育/会议/远程巡检等场景实时通信解决方案

一、方案背景 随着网络通信发展&#xff0c;实时音视频需求激增。传统服务器中转方式延迟高、资源消耗大&#xff0c;WebP2P技术由此兴起。EasyRTC作为高性能实时通信平台&#xff0c;集成WebP2P技术&#xff0c;实现低延迟、高效率音视频通信&#xff0c;广泛应用于教育、医疗…

2025年度消费新潜力白皮书470+份汇总解读|附PDF下载

原文链接&#xff1a;https://tecdat.cn/?p42178 过去一年&#xff0c;消费市场在政策驱动与技术迭代中呈现结构性变革。社零总额达487,895亿元&#xff0c;实物商品网零额占比27%&#xff0c;线上渠道成为增长引擎。本报告从食品饮料、美妆护肤、家电数码、服饰户外四大核心领…

“智”造巨轮启新程:数字安全的战略布局

数据就像空气&#xff0c;无处不在&#xff1b;安全就像呼吸&#xff0c;刻不容缓! 在智能化不断创新的沃土上&#xff0c;某大型智能家电企业这艘智造巨轮正乘风破浪&#xff0c;驶向数字化的深蓝大海。作为全球家电制造的领航者&#xff0c;深知&#xff1a;在这个数字时代&a…

React组件(二):常见属性和函数

文章目录 一、defaultProps 和 prop-types使用 defaultProps 设置组件的默认值使用prop-types进行props数据类型的校验代码举例 二、事件绑定原生js做事件绑定使用 React 提供的方法&#xff0c;做事件绑定 三、生命周期函数&#xff1a;shouldComponentUpdate()四、在js代码中…

redis 进行缓存实战-18

使用 Redis 进行缓存 Redis 通常被认为只是一个数据存储&#xff0c;但它的速度和内存中特性使其成为缓存的绝佳选择。缓存是一种技术&#xff0c;通过将经常访问的数据存储在快速的临时存储位置来提高应用程序性能。通过使用 Redis 作为缓存&#xff0c;您可以显著减少主数据…

【Nginx学习笔记】:Fastapi服务部署单机Nginx配置说明

服务部署单机Nginx配置说明 服务.conf配置文件&#xff1a; upstream asr_backend {server 127.0.0.1:8010; }server {listen 80;server_name your_domain.com;location / {proxy_pass http://localhost:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remot…

Qt网络编程

前言 Qt为了支持跨平台&#xff0c;对系统网络编程的API&#xff08;socket API&#xff09;也进行了重新分装。 实际Qt中进行网络编程也不一定使用Qt封装的网络API&#xff0c;也有可能使用的是系统原生API或者其他第三方框架的API。 若要使用Qt中的网络编程的API&#xff…

矩阵短剧系统:如何用1个后台管理100+小程序?技术解析与实战应用

引言&#xff1a;短剧行业的效率革命 2025年&#xff0c;短剧市场规模已突破千亿&#xff0c;但传统多平台运营模式面临重复开发成本高、用户数据分散、内容同步效率低等痛点。行业亟需一种既能降本增效又能聚合流量的解决方案——“矩阵短剧系统”。通过“1个后台管理100小程…

嵌入式STM32学习——ESP8266 01S的基础介绍

简介 ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266EX的低功耗UART-WiFi芯片模组&#xff0c;可以方便地进行二次开发&#xff0c;接入云端服务&#xff0c;实现手机3/4G全球随时随地的控制&#xff0c;加速产品原型设计。 模块核心处理器 ESP8266 在…

form-create-designer中$inject参数的数据结构及各项属性说明

FcDesigner 是一款基于Vue的开源低代码可视化表单设计器工具&#xff0c;通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单&#xff0c;提高开发者对表单的开发效率&#xff0c;节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。 …

Jasypt概述及整合SpringBoot实现敏感数据加密

前言 在实际开发中&#xff0c;Spring Boot应用的配置文件中经常包含数据库密码、API密钥等敏感信息。如果这些信息以明文形式存储&#xff0c;会带来严重的安全隐患。本文将详细介绍如何使用Jasypt&#xff08;Java Simplified Encryption&#xff09;对Spring Boot配置文件中…

Better Faster Large Language Models via Multi-token Prediction 原理

目录 模型结构&#xff1a; Memory-efficient implementation&#xff1a; 实验&#xff1a; 1. 在大规模模型上效果显著&#xff1a; 2. 在不同类型任务上的效果&#xff1a; 为什么MLP对效果有提升的几点猜测&#xff1a; 1. 并非所有token对生成质量的影响相同 2. 关…

git merge解冲突后,add、continue提交

git merge解冲突后&#xff0c;add、continue提交 git merge操作冲突后&#xff0c;需要手动解冲突&#xff0c;解完冲突后&#xff0c;需要: git add . 然后&#xff0c;进入一般的正常git代码提交流程。 git合并‘merge’其他分支的个别文件到当前branch_gitbash 合并branc…