SQL练习54:查找排除当前最大、最小salary之后的员工的平均工资avg_salary

五大常考SQL面试题 大厂sql面试题 阅读详情

SQL练习54:查找排除当前最大、最小salary之后的员工的平均工资avg_salary

题目链接:牛客网

题目描述
查找排除最大、最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary。

CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
如:
INSERT INTO salaries VALUES(10001,85097,'2001-06-22','2002-06-22');
INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10002,72527,'2001-08-02','9999-01-01');
INSERT INTO salaries VALUES(10003,43699,'2000-12-01','2001-12-01');
INSERT INTO salaries VALUES(10003,43311,'2001-12-01','9999-01-01');
INSERT INTO salaries VALUES(10004,70698,'2000-11-27','2001-11-27');
INSERT INTO salaries VALUES(10004,74057,'2001-11-27','9999-01-01');

输出格式:

avg_salary
73292

解法
解题思想就是想办法去除最大工资和最小工资,这里使用子查询的方式,要注意一点的是题中少了一个条件,就是要限定to_date = '9999-01-01',表示获取当前数据。

SELECT AVG(salary) avg_salary
FROM salaries
WHERE to_date = '9999-01-01'
AND salary NOT IN (SELECT MAX(salary)
                  FROM salaries
                  WHERE to_date = '9999-01-01')
AND salary NOT IN (SELECT MIN(salary)
                  FROM salaries
                  WHERE to_date = '9999-01-01')
数据库SQL实战:MySql练习(下) 文章目录31. 获取select * from employees对应的执行计划32. 将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分33. 创建一个actor表,包含如下列信息35. 对于表actor批量插入如下数据,如果数据已经存在,请忽略,不使用replace操作36. 对于如下表actor,其对应的数据为:37. 针对如下... 阅读详情

相关推荐

不用敲命令!用宝塔面板可视化部署pbootCMS的保姆级教程(2024最新版)

本文提供2024年最新版pbootCMS可视化部署教程,全程使用宝塔面板操作,无需任何命令行知识。从服务器初始化、LNMP环境配置到源码上传、安装向导,手把手指导用户通过图形化界面快速搭建专业网站,适合零基础新手和追求高效建站的用户。

weixin_42509507的博客 490

sql高频面试题-去除最高最低的平均

因为要在每个部门内计算平均工资,但是要去除该部门的最高工资和最低工资,所以我们可以考虑使用窗口函数,按照部门进行分组,但是如何将部门的最高工资和最低工资去除呢?我们可以对分组后的数据按照工资分别顺序和逆序进行排序,排名第一的就分别是该部门最低和最高工资,将这2个排名第一的记录去除就是我们要计算的平均工资。select 10001 empId , '市场部' department , 9000 salary into #emp_salary。

w926498的博客 1500

西门子 标准程序解读---> 机器手抓取和涂胶控制程序

摘要 该程序实现机械手在OP70/OP90工位的自动化控制,核心功能包括: 流程控制:分段(Seg1-Seg11)管理抓件、涂胶、放件等动作,结合DB1050/DB1250数据块监控工位状态及变位机位置反馈。 安全机制:配置干涉区(FC124)、实时检测安全光/急停信号,防止碰撞;服务程序(FB191)支持维修位触发与安全隔离。 参数配置:通过DB块关联机器人速度、节拍(FB27)、车型编码(如空过=2)及手自动模式(DB70.DBX21.2)。 应用场景:适用于汽车焊接/装配线

工控智联驿站 1239

SQL实战54.查找排除当前最大、最小salary之后的员工的平均工资avg_salary

题目 解答 select avg(salary) as avg_salary from salaries where salary !=(select max(salary) from salaries where to_date = '9999-01-01') and salary !=(select min(salary) from salaries where to_date = '9999-01-01') and to_date = '9999-01-01'

m0_48005088的博客 409

完整IC设计流程解析&Makefile学习

本文介绍了decorder38项目的文件结构、自动化综合流程和Makefile使用方法。项目包含RTL到GDSII全流程文件,重点关注syn目录中的综合脚本。通过make dc命令运行综合流程,生成网表、约束和时序文件。关键报告如qor.rpt、area.rpt和min_vio.rpt用于分析综合质量、面积和时序。Makefile部分解释了其基本语法、IC设计中的典型结构,包括目标定义、命令执行和特殊声明,强调了其在自动化构建和依赖管理中的重要性。

m0_63352623的博客 855

IEEE Access 上岸指南,附含泪整理的 cover letter 、沟通邮件、终版文档等资料包

终于上岸了! 我是一个小硕,本科期间发表过两篇水文,奈何学校有更高的毕业要求,只能硬着头皮尝试一下 SCI。 想投 IEEE Access 的朋友都应该知道 小木虫论坛 对这个期刊的讨论,褒贬不一,有的人说是大水刊,有的人说有难度。 比如: @wow_: 不可否认,灌水期刊。只要之前中过一篇,再投基本没有不录用的!我们实验室其他老师说过一区除外的收费期刊都应该禁止灌水。 @pssp: 审稿人还...

kurryluo的博客 1万+

牛客网SQL刷题51-60

文章目录51、查找排除最大、最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary。52|分页查询employees表,每5行一页,返回第2页的数据53、获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和received,没有分配奖金的员工不显示对应的bonus类型btype和received54、使用含有关键字exists查找未分配具体部门的员工的所有信息。55、获取有奖金的员工相关信息。56、按照salary的累

weixin_45902007的博客 515

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

数据库SQL实战 --53.查找排除当前最大、最小salary之后的员工的平均工资avg_salary

题目描述 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。 CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`f...

我在阴山下 865

用LTspice仿真Buck电路输出电容:从参数计算到波形优化的全流程演示

本文详细介绍了使用LTspice仿真Buck电路输出电容的全流程,从理论计算到波形优化。通过解析关键参数如纹波电压、瞬态响应和ESR,结合工程计算方法和LTspice仿真技巧,帮助工程师优化Buck电路设计,解决输出纹波过大和瞬态响应不佳的问题。

night的博客 851

【LDLTS解析】从重叠峰到精准参数:拉普拉斯深能级瞬态光谱如何重塑半导体缺陷分析

本文深入解析了拉普拉斯深能级瞬态光谱(LDLTS)技术如何革新半导体缺陷分析。针对传统DLTS难以分辨重叠峰的痛点,LDLTS通过拉普拉斯逆变换对高精度电容瞬态曲线进行数学解卷积,成功分离发射率相近的缺陷信号,实现从模糊宽峰到精准独立峰的转变。该技术不仅大幅提升了缺陷激活能和捕获截面等关键参数的提取精度,更推动分析范式从经验拟合转向第一性原理,为先进半导体工艺开发与良率提升提供了强大的精准诊断工具。

weixin_29224309的博客 273

牛客SQL练习-54-查找排除最大、最小salary之后的当前(to_date = ‘9999-01-01‘ )员工的平均工资avg_salary

SELECT AVG( salary ) AS avg_salary FROM salaries WHERE to_date = '9999-01-01' AND salary NOT IN ( SELECT MAX( salary ) FROM salaries WHERE to_date = '9999-01-01' ) AND salary NOT IN ( SELECT MIN( salary ) FROM salaries WHERE to_date = '9.

hmyqwe的博客 429

数据资产可视化分析:PowerBI在大数据管理中的实战

目的:帮你搞懂“为什么数据资产需要可视化?”“PowerBI能帮企业解决什么问题?”,并掌握用PowerBI做大数据可视化的实战技巧。范围:覆盖数据资产定义、可视化分析原理、PowerBI核心功能(数据连接、建模、可视化)、零售企业实战案例,以及未来趋势与挑战。背景:为什么企业的数据像乱堆的玩具?核心概念:数据资产、可视化分析、PowerBI分别是什么?它们怎么配合?实战步骤:用PowerBI帮零售企业整理“销售玩具箱”,做出能指导决策的仪表盘;应用场景:不同部门怎么用这个“整理好的玩具箱”?

2501_92132293的博客 906

牛客网数据库SQL实战54——查找排除当前最大、最小salary之后的员工的平均工资avg_salary

牛客网数据库SQL实战54——查找排除当前最大、最小salary之后的员工的平均工资avg_salary 题目描述 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。 CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NU...

sunbocong的博客 1185

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

54. 查找排除当前最大,最小salary之后的员工的平均工资avg_salary

题目描述 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。 CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`...

chenchenchenchenying的博客 1319

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

SQL-54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。

题目描述 查找排除当前最大、最小salary之后的员工的平均工资avg_salary。CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL,PRIMARY KEY (`emp_no`,`fro...

weixin_34326558的博客 408

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SQL54 查找排除当前最大、最小salary之后的员工的平均工资avg_salary

坚持!胜利!

python_xiaobaib的博客 274

数据库SQL实践54:查找排除当前最大、最小salary之后的员工的平均工资avg_salary

思路: 先选出最大工资,再选出最小工资,最终排除最大和最小工资,求平均。(但题目要求排除当前最大工资和当前最小工资,似乎有bug) select avg(salary) as avg_salary from salaries where to_date = '9999-01-01' and salary not in (select max(salary) from salaries) a...

weixin_43160613的博客 703

牛客在线编程练习:SQL54_中等

SQL练习:SQL54_中等 题目: 查找排除最大、最小salary之后的当前(to_date = ‘9999-01-01’ )员工的平均工资avg_salary。 CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`)); 输出格式

weixin_42623730的博客 130

牛客题霸 51 - 60

文章目录51. 获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列54. 查找排除最大、最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary。55. 使用含有关键字exists查找未分配具体部门的员工的所有信息。 51. 获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列 思路:使用字符串截取函数 subtring(对象字符串,截取的起始位

Charison的编程妙妙屋 221

牛客网sql练习笔记(三)

第46题 描述 在audit表上创建外键约束,其emp_no对应employees_test表的主键id。 (以下2个表已经创建了) CREATE TABLE employees_test( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); CREATE TABLE audit( EMP_no INT NOT NULL, create_date

2023好运来的博客 420

SQL(41-58)

文章目录41. 构造一个触发器audit_log,在向employees_test表中插入一条数据的时候,触发插入相关的数据到audit中。42. 删除emp_no重复的记录,只保留最小的id对应的记录。43. 将所有to_date为9999-01-01的全部更新为NULL,且 from_date更新为2001-01-01。44. 将id=5以及emp_no=10001的行数据替换成id=5以及e...

yongrl的博客 633

java牛客网四则运算_数据库刷题—牛客网(51-61)

51.查找字符串'10,A,B' 中逗号','出现的次数cnt。思路:由于 SQLite 中没有直接统计字符串中子串出现次数的函数,因此本题用length()函数与replace()函数的结合灵活地解决了统计子串出现次数的问题,属于技巧题,即先用replace函数将原串中出现的子串用空串替换,再用原串长度减去替换后字符串的长度,最后除以子串的长度(本题中此步可省略,若子串长度大于1则不可省)。SE...

weixin_33882158的博客 185

mysql牛客网训练41-60_下

文章目录41. 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现。REPLACE(s,s1,s2)42. 将titles_test表名修改为titles_2017。43.在audit表上创建外键约束,其emp_no对应employees_test表的主键id。44. 获取emp_v和employees有相同的数据UN...

落叶无痕的博客 1079

JavaWeb知识点

1.Maven中的仓库用来存储什么的?Maven的仓库是用来存储和管理jar包的2.Maven中有哪几类仓库?查找依赖(jar)的顺序是什么样的?本地仓库(1)远程仓库(2)中央仓库(3)

ql200106的博客 303
上一篇: SQL练习53:按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
下一篇: SQL练习55:分页查询employees表,每5行一页,返回第2页的数据
Dream丶Killer
Dream丶Killer 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄8年 7万+粉丝 187原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值