老师麻烦看下我这个错在哪了

老师麻烦看下我这个错在哪了

http://img1.sycdn.imooc.com//climg/5ecdbb930989ebc707590275.jpg

查询平均底薪这里为什么会报错呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
圣诞妈妈 2020-06-03 07:59:29

不应该按ename分组,你的目的是查询平均底薪,这里是指部门平均底薪吧,那么GROUP BY deptno

好帮手慕笑蓉 2020-05-27 17:42:40

同学,你好。这是因为同学是根据ename进行分组的,即一个人一组计算的平均值,因此没有sal>avg(sal)的,只有sal=avg(sal)如:

http://img1.sycdn.imooc.com//climg/5ece35ee09664cf508480450.jpg

祝学习愉快~

  • 老师,这里的目标是找出工资高于平均工资的人的名字 用GROUP BY和HAVING语句无法实现么
    2020-05-27 19:06:32
  • 同学,你好。如果要找出工资高于平均工资的人的名字,用GROUP BY和HAVING语句难以实现,建议同学用表连接的方式,如:select ename,sal,avg from t_emp t1 join (select deptno,avg(sal) as avg from t_emp) t2 where sal>avg; 祝学习愉快~
    2020-05-28 09:45:20
好帮手慕笑蓉 2020-05-27 13:57:08

同学,你好。报错指出不知道sal是什么,因此需要做如下修改:

http://img1.sycdn.imooc.com//climg/5ece012a095f9fdb05670107.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~ 


  • SELECT ename,sal FROM t_emp GROUP BY ename HAVING sal>AVG(sal); 老师,我这改了之后为什么只得到一个空表,没有对应的值呢
    2020-05-27 14:39:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师