为了账号安全,请及时绑定邮箱和手机立即绑定

这道题为什么不用group by

这道题为什么不用group by

正在回答

3 回答

select a.empno       
       ,a.ename
       ,a.sal	  
       ,a.deptno	 
       ,b.avgsal  
  from emp a 
 inner join (
             select 
                    deptno
                    ,avg(sal) as avgsal	
               from emp b
              group by deptno	
            ) b    
    on b.deptno =a.deptno 
 where a.sal > b.avgsal

未执行过。自行尝试。

0 回复 有任何疑惑可以回复我~

因为select后只有avg()这样一列,group by 后必须出现的是除了分组函数外的列,此题并没有其他的列所以可以写可以不写

0 回复 有任何疑惑可以回复我~

select empno,ename,sal,(select avg(sal) 

                      from emp group by deptno 

                      having deptno=e.deptno) from emp e where sal>(select avg(sal) 

                                                                    from emp group by deptno 

                                                                    having deptno=e.deptno)

这样也可以查询出来 但是我感觉这个代码太冗杂了 还是视频里的简单一点

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这道题为什么不用group by

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信