首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 9丨平均工资:部门与公司比较【难度困难】

难度困难 SQL架构 给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门平均工资与公司平均工资比较结果 (高 / 低 / 相同)。...对于如上样例数据,结果为: pay_monthdepartment_idcomparison2017-031higher2017-032lower2017-021same2017-022same 解释 在三月,公司平均工资是...由于部门 '1' 里只有一个 employee_id 为 '1' 员工,所以部门 '1' 平均工资就是此人工资 9000 。...第二个部门平均工资为 employee_id 为 '2' 和 '3' 两个人平均工资,为 (6000+10000)/2=8000 。...在二月用同样公式平均工资并比较,比较结果为 'same' ,因为部门 '1' 和部门 '2' 平均工资与公司平均工资相同,都是 7000 。

24330

Oracle学习(四):组函数

,来屏蔽组函数滤空功能 SQL> select count(*),count(nvl(comm,0)) from emp; --结果相同,count(comm)统计所有结果 SQL> --各个部门平均工资...group by子句中 SQL> --包含在group by子句中列不必包含在select列表中 SQL> --按部门,不同职位统计平均工资 SQL> select deptno,job,avg(sal...4 having avg(sal)>2000 SQL> --having和where区别 SQL> --10号部门平均工资 SQL> select deptno,avg(sal) 2...> --可以在组函数中嵌套滤空函数,来屏蔽组函数滤空功能 SQL> host cls SQL> --各个部门平均工资 SQL> set linesize 150 SQL> col sal for...> --having 过滤分组 SQL> host cls SQL> --having和where区别 SQL> --10号部门平均工资 SQL> select deptno,avg(sal)

94120

SQL 平均值时去掉极值

在一些比赛中,为了公平起见,算法端会在评委给出分数里面去掉一个最高分和一个最低分,再平均分,平均分即是选手最后得分。...在某次比赛中,评委给选手 A 打出了一组分数:98、88、94、92、95、93、92,我们怎么用 SQL 来计算选手 A 最后得分呢? 假设评委打出分数存储在 t 表 score 字段里面。...具体 SQL 实现如下: SELECT AVG(score) AS final_score FROM t WHERE score NOT IN ( (SELECT MIN(...方案二 先对所有的分数求和,再减去最高分和最低分,最后平均值。...方案三 如果数据库支持窗口函数,可以用窗口函数对分值分别按升序和降序排序(分值相同序号也不同),去掉序号为 1 记录再平均值。

2.7K10

带你学MySQL系列 | 困扰MySQL初学者分组聚合查询,我终于讲明白了!

也就是说,你使用是sum()函数,就会组内求和;当你使用是avg()函数,就会组内平均值;当你使用是count()函数,就会进行组内计数;当你使用是max()函数,就会进行组内最大值;你使用是...min()函数,就会进行组内最小值。...也就是说SQL语句中只要有group by,那么在select后面的展示字段中一般会有聚合函数(5个聚合函数)中一个或多个函数出现。...结果集指的是在SQL语句中,添加其它任何一个限制条件,最终展示给我们表,都是结果集。添加不同限制条件,查询出来结果集也是不同。 原始表只有一个,结果集却是各种各样。...7.group by和order by,一对老搭档 习题一:查询每个部门员工平均工资,按照平均工资降序。 习题二:查询每个部门员工平均工资,按照平均工资升序。

1.2K30

组函数及分组统计

分组函数 SQL中经常使用分组函数 Count(): 计数 Max():最大值 Min():最小值 Avg():平均值 Sum():求和 -- 统计emp...(sal) from emp; -- 求全部雇员最高工资 select max(sal) from emp; -- 部门编号为20雇员平均工资和总工资 select avg(sal),sum...求出平均工资大于2000部门编号和平均工资 刚開始学习的人非常easy错误地写成将工资大于2000条件写在where后面 SELECT deptno,avg(sal) FROM emp WHERE...2000部门编号和平均工资 select e.deptno, avg(sal) from emp e, dept d where e.deptno = d.deptno having avg(sal)...: 仅仅要一列上存在反复内容才有可能考虑到用分组查询 注意: 分组函数能够嵌套使用,可是在组函数嵌套使用时候不能再出现分组条件列名 例:平均工资最高部门编号、部门名称、部门平均工资 第一步:

1.5K20

Oracle数据库学习笔记 (四 —— select 从入门到放弃 【下】)

emp 表记录数 select count(*) from emp; 员工最高工资 select max(sal) from emp; 员工最低工资 select min(sal) from...emp; 雇员平均工资 select avg(sal) from emp; 每个月要发放给雇员基本工资总数 select sum(sal) from emp; 20部门总工资 注意:...select deptno,count(empno) from emp group by deptno -- 每个部门平均工资 select deptno,avg(sal) from emp group...编写复杂子查询解决思路是:逐层分解查询。即从最内层子查询开始分解,将嵌套SQL语句拆分为一个个独立SQL语句。...子查询执行过程遵循“由里及外”原则,即先执行最内层子查询语句,然后将执行结果与外层语句进行合并,依次逐层向外扩展并最终形成完整SQL语句。

1.1K30

宏观分析法 — 教你如何实现复杂sql编写,复杂sql巧妙剥离,不看血亏

下面我来举个列子: 题1:请用一条sql语句,统计薪资大于薪资最高员工所在部门平均工资和薪资最低员工所在部门平均工资平均工资员工信息。...由上拆分可以发现,条件是员工工资要大于一个数,所以sql语句可以变成:“select * from emp where sal> ? ”; 那么我们下一步就是继续往里面渗透分析,这个“?”...再进一步简化,就成了: “统计薪资 大于 ( (‘x‘ + ‘y‘)/2 ) 员工信息。” 所以分析到这里,可以将sql写成: “select * from emp where sal> ?...我们首先对X进行解析: ‘薪资最高员工所在部门平均工资‘ ---- 这不就是 什么什么平均工资吗?...所以xsql语句可以进一步变成下面的: select avg(sal) from emp where deptno=(select deptno from emp where sal=(select

1K50

浅谈 T-SQL高级查询

之前我们简单了解了增、删、改、查这几类T-SQL语法来操纵数据表,但是为了更方便快捷地完成大量任务,SQL Server 提供了一些内部函数,可以和SQL Server SELECT语句来联合使用,...聚合函数: 用于对一组值执行计算,并返回单个值 如:总和、平均值、最大或最小值等 SUN:总和、AVG:平均数、MAX和MIN:返回最大最小值 COUNT:返回非空值计数 查询表中所有员工基本工资综合...: select sum(基本工资) as 总工资 from *表名* 查询表中所有员工平均工资: select avg(基本工资) as 平均工资 from *表名* 查询表中最高和最低基本工资...group by 子句分类组合,再根据需要得到统计信息,只显示限定条件组,需要使用 HAVING 子句 查询表中每个职务平均工资: select 职务,avg(基本工资) as 职务基本工资...from *表名* group by 职务 查询表中平均工资小于10000职务: select 职务,avg(基本工资) as 职务平均工资 from *表名* group by 职务 having

1.7K30

这8种SQL用法,我用错吗?答案!!!

2、隐式转换 SQL语句中查询变量和字段定义类型不匹配是另一个常见错误。...SQL 重写后如下,执行时间缩小为1毫秒左右。...a.resourcesid GROUP BY resourcesid) c ON a.resourceid = c.resourcesid 但是子查询 a 在我们SQL...但是编译器只是尽力服务,所有数据库编译器都不是尽善尽美的。 上述提到多数场景,在其它数据库中也存在性能问题。了解数据库编译器特性,才能避规其短处,写出高性能SQL语句。...程序员在设计数据模型以及编写SQL语句时,要把算法思想或意识带进来。 编写复杂SQL语句要养成使用 WITH 语句习惯。简洁且思路清晰SQL语句也能减小数据库负担 。

55320
领券