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 salariesWHERE to_date = '9999-01-01')
AND salary NOT IN (SELECT MIN(salary)FROM salariesWHERE to_date = '9999-01-01')

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

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

    牛客网数据库SQL实战54--查找排除当前最大.最小salary之后的员工的平均工资avg_salary 题目描述 查找排除当前最大.最小salary之后的员工的平均工资avg_salary. CRE ...

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

    1. 查找字符串'10,A,B' 1.1 题目描述 查找字符串'10,A,B' 中逗号','出现的次数cnt. 1.2 语句实现 select length("10,A,B") - ...

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

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

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

    sql实战 查找排除当前最大.最小salary之后的员工的平均工资avg_salary 问题描述 Sql语句 问题描述 查找排除最大.最小salary之后的当前(to_date = '9999-01- ...

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

    描述 查找排除最大.最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary. drop table if exists `salaries` ; ...

  6. sql查询本年度员工的平均工资

    现在有这样一条需求: 求本年度内入职员工的平均工资 核心点: 本年度内的员工的平均工资,如果是今年以前入职的查询今年的 如果是今年入职的查询今年入职的平均工资. create database Use ...

  7. SQL Server内存故障排除

    翻译自:https://blogs.msdn.microsoft.com/karthick_pk/2012/06/15/troubleshooting-sql-server-memory/ SQL S ...

  8. sql server键查找_如何查找SQL Server版本

    sql server键查找 In this article, we will explore how to find the SQL Server version details with vario ...

  9. 剑指offer java -查找旋转数组的最小数字

    /** * Created by wqc on 2017/7/18. * 查找旋转数组的最小数字 * 把一个数组最开始的若干个元素搬到数组的末尾,称为数组的旋转 * 输入一个递增排序的数组的一个旋转, ...

最新文章

  1. 51CTO博客弹出框精彩博文记录【2013年第二季度】
  2. php显示玩家,php.取得玩家IP
  3. java 图片导出_java导出含图片的word
  4. HEU 5039 Move Woods
  5. 如何使用final阻止重载?如何使用final阻止继承?
  6. 微信 for Mac 3.1.0 测试版发布,支持发朋友圈啦!
  7. 明天结束一个人的生活
  8. Python学习总结(3)——数字类型
  9. Pomelo MMORPG
  10. iOS-高德地图API的定位与搜索功能
  11. 记一次 Ruby 内存泄漏的排查和修复
  12. 【图灵机器人】图灵机器人API V2版使用采坑指南
  13. excel表格末尾添加一行_Excel这些办公必备小技巧,Excel表格轻松搞定
  14. SQL对date类型的操作
  15. protel 99se元件封装名称
  16. 在中国大陆,XGP对比Steam有什么优势?
  17. AtCoder Beginner Contest 272「A」「B」「C」「D bfs」「E 思维」
  18. 【渝粤教育】国家开放大学2018年春季 7067-21T (1)康复护理学 参考试题
  19. 1159. Electrical Outlets
  20. pytorch模型推理提速

热门文章

  1. 帆软报表如何实现开始时间-结束时间-时间间隔(时,日、周、月、年)分段显示数据
  2. seo网站内容优化有哪些(网站链接怎么做)
  3. 今年最后一波,经典科技图书双11抄底放价
  4. 【二维数组与矩阵乘法】
  5. 小米手机被指不务正业:基础功能弱 刷机成主业
  6. 万物皆可 Serverless 之使用 SCF+COS 给未来写封信
  7. JAVA不可变字符串
  8. python模块之shelve
  9. 机械表矢量素材分享(三眼表盘意向:过去、现在、未来)
  10. MIUI 12 杂谈(发布会篇)