mysql查询部门人数大于所有部门平均人数的部门
查询部门人数大于所有部门平均人数的部门编号,部门名称,部门人数SELECTe.deptno,d.dename,count(empno)fromempe,deptdwher...
查询部门人数大于所有部门平均人数的部门编号,部门名称,部门人数
SELECT e.deptno,d.dename,count(empno) from emp e,dept d
where e.deptno = d.deptno and count(empno) >
(SELECT avg(COUNT(EMPNO)) FROM emp GROUP BY DEPTNO)
执行报错,请问怎么修改
oracle 里面语句是正确的,但是mysql这么写报错,问题应该出现在 avg(count(empno))这边 展开
SELECT e.deptno,d.dename,count(empno) from emp e,dept d
where e.deptno = d.deptno and count(empno) >
(SELECT avg(COUNT(EMPNO)) FROM emp GROUP BY DEPTNO)
执行报错,请问怎么修改
oracle 里面语句是正确的,但是mysql这么写报错,问题应该出现在 avg(count(empno))这边 展开
展开全部
select t1.*, t2.s
from emp_hiloo t1 join (select deptno, avg(salary) s from emp_hiloo group by deptno) t2
on t1.deptno=t2.deptno
where t1.salary>t2.s
from emp_hiloo t1 join (select deptno, avg(salary) s from emp_hiloo group by deptno) t2
on t1.deptno=t2.deptno
where t1.salary>t2.s
追问
我要查询的是部门人数大于所有部门平均人数的部门编号,部门名称(如 a部门6人,b部门4人,c部门5人,那么部门平均人数是5人,大于平均人数的部门就是a部门,所以最后查询结果应该是显示a部门的部门编号、部门名称、部门人数
刚刚忘记说谢谢!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其一第一排count(empno)改为count(e.empno)
其二外层查询需要分组,不然你用count(*)就是错的
SELECT D.DEPTNO,D.DNAME,COUNT(E.ENAME)
FROM EMP E JOIN DEPT D ON E.DEPTNO=D.DEPTNO
GROUP BY D.DEPTNO,D.DNAME
HAVING COUNT(E.ENAME)>(
SELECT AVG(COUNT(ENAME)) FROM EMP GROUP BY DEPTNO
)
其二外层查询需要分组,不然你用count(*)就是错的
SELECT D.DEPTNO,D.DNAME,COUNT(E.ENAME)
FROM EMP E JOIN DEPT D ON E.DEPTNO=D.DEPTNO
GROUP BY D.DEPTNO,D.DNAME
HAVING COUNT(E.ENAME)>(
SELECT AVG(COUNT(ENAME)) FROM EMP GROUP BY DEPTNO
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询