首页 > 数据库 >SQL248 平均工资

SQL248 平均工资

时间:2023-02-18 14:46:29浏览次数:37  
标签:salary 01 SQL248 salaries 9999 date 平均工资 select

题目描述

查找排除在职(to_date = '9999-01-01' )员工的最大、最小salary之后,其他的在职员工的平均工资avg_salary。

思路

1.求单列平均值使用聚合函数avg() ;
2.排除在职(to_date = '9999-01-01' )员工的最大、最小salary,用where to_date = '9999-01-01'筛选在职员工,
然后not in max(salary)、not in min(salary)排除最大、最小值;
3.注意:如果用select min(salary),max(salary) from salaries,输出的是两列,
但是前面是not in,not in只能对单列数值(或单列内多个数值)操作,因此要分开select min(salary)、select max(salary) 。

代码

sql1

select 
    avg(salary) sav_salary 
from salaries 
where 
salary not in (select min(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 to_date = '9999-01-01'

标签:salary,01,SQL248,salaries,9999,date,平均工资,select
From: https://www.cnblogs.com/loongnuts/p/17132543.html

相关文章

  • 2021年国家平均工资出炉,你又被平均了吗?
    近期,国家统计局发布2021全国平均薪资,IT业年平均工资突破20万位于榜首。分行业门类看,IT行业年平均工资私营、非私营均位列第一年平均工资最高的3个行业分别是信息传输、软件......
  • 平均工资:部门与公司比较
    一.题目:给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果(高/低/相同)。工资表:salaryidemployee_idamountpa......
  • C++ 用函数打印员工的平均工资
    #include<iostream>#include<windows.h>#include<string>usingnamespacestd;floataverageSalary(intn[],inti){floatsum=0;for(intx=0;x......