数据库的高级查询中,下面关于GROUP BY的HAVING子句为什么报错咧?
SELECT deptno
FROM t_emp
GROUP BY deptno HAVING COUNT(*)>=2 AND AVG(sal)>=2000 AND hiredate>="1982-01-01";
SELECT deptno
FROM t_emp
GROUP BY deptno HAVING COUNT(*)>=2 AND AVG(sal)>=2000 AND hiredate>="1982-01-01"
> 1054 - Unknown column 'hiredate' in 'having clause'
> 时间: 0.002s
42
收起
正在回答
2回答
同学你好,WHERE语句是根据条件进行筛选数据的,所以要查询入职在1982年以后的人数,就需要加上where条件,而不是将其拼接在having语句之后

祝学习愉快~
2023版Java工程师
- 参与学习 人
- 提交作业 8788 份
- 解答问题 9886 个
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星