gpt4 book ai didi

mysql - 使用联接时如何为 mysql 中的 avg 聚合函数选择不同的行?

转载 作者:行者123 更新时间:2023-11-29 11:39:13 25 4
gpt4 key购买 nike

enter image description here

enter image description here

查询:计算飞行员平均工资与员工(含飞行员)平均工资的差值。飞行员是指其 eid 出现在认证表中的员工

我写的查询:

select (select avg(salary) from 
employee join certified using (eid))-(select avg(salary) from employee) as Difference;

但它给出了错误的结果,我认为它是通过使用认证表中的每个条目来计算平均值。(eid 10在认证中出现了4次,所以它使用了eid 10员工的工资四次),我需要计算仅针对认证表中不同开斋节的平均值。

如何做到这一点?

最佳答案

试试这个:

select (select avg(salary) 
from employee
where eid in (select eid from certified))
- (select avg(salary) from employee) as Difference;

或者使用连接:

select (select avg(salary) 
from employee
join (select distinct eid from certified) as t
using (eid))
- (select avg(salary) from employee) as Difference;

关于mysql - 使用联接时如何为 mysql 中的 avg 聚合函数选择不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36090180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com