求平均工资最高的部门信息;怎么查询呢?

用的数据库教学内容上emp表中的数据。

我的思路是先查询出各部门的平均工资:
select avg(sal) from emp group by deptno;
之后再查询出上一步里面的最大值;这一步卡住了:

有答案是这样的,select max(avg(sal)) from emp group by deptno;

我试了这个语句,不行,至少在mysql上不行,请大牛解答解答。

select *,max(e.avg_sal) from (select *,avg(sal) avg_sal from emp group by deptno) e
这是求部门信息的

select * from dept where deptno in (select deptno from emp group by deptno having avg(sal)=(select avg(sal) a from emp group by deptno order by a desc limit 0,1));

select max(e.sal) from (select avg(sal) sal from emp group by deptno) e
这是求最高平均工资,你不是求部门信息么?

select *from dept where deptno=(select a.deptno from (select deptno,max(e.sal) from(select deptno,sal,avg(sal)a from emp group by deptno)e)a);

with t1 as (select deptno, avg(sal) as avg_sal from emp group by deptno),--求出各部门的平均工资
t2 as (select t1.deptno from t1 where t1.avg_sal in (select max(avg_sal) from t1))--若平均值和最大值相同则取出部门编号
select * from emp where deptno in (select t2.deptno from t2);--用in是为了防止有多个最值,没准就有2个部门的平均值相同了呢

select * from dept where deptno=(select deptno from emp group by deptno order by avg(sal) desc limit 0,1);