[英]sql subqueries and group by
我正在為我的sql類分配一個作業,我似乎無法弄清楚。 這是精選通緝犯的描述:
僅針對擁有至少4名員工的部門,顯示所有薪水高於其部門同事平均水平的員工。
我已經能夠找到查詢的一部分,例如
select ename
from emp
where sal > any (select avg(sal)
from emp
group by
deptno);
獲得比平均收入更高的員工姓名。
要么
select count(deptno)
from emp
group by
deptno having count(deptno) > 4;
獲取每個部門的員工人數。
但是以某種方式將它們鏈接在一起是行不通的。 也許有人可以幫我照亮這一點。
您可以將“ 讓子句 ”與“ 分組依據”結合使用
select ename
from emp
where sal > any (select avg(sal)
from emp
group by
deptno)
having count(*)>4;
只需使用AND子句輸入第二個查詢:
select ename
from emp
where sal > any (select avg(sal)
from emp
group by
deptno)
and deptno in (select deptno
from emp
group by
deptno having count(deptno) > 4);
select ename
from (
select deptno, count(deptno)
from emp
group by deptno
having count(deptno) > 4) valid_depts join emp ON emp.deptno=valid_depts.deptno
where sal > any (select avg(sal)
from emp
group deptno);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.