不要被悟道: GROUP BY 分组后形成一个虚拟表, #+------+---------+-------+ #| id | revenue | month | #+------+---------+-------+ #| | 6000 | Jan | #| 1 | 8000 | Feb | #| | 6000 | Mar | #+------+---------+-------+ #| 2 | 9000 | Jan | #+------+---------+-------+ #| 3 | 10000 | Feb | #+------+---------+-------+, 例如以上虚拟表,ID=1的组,d.emp_no选择显示是第一个6000而不是随机。而HAVING 将最大的那个赛选出来,则6000和7000被过滤掉。 错误点三 题意就是要选择分组后每个部门工资最高的员工所以HAVING salary=MAX(s.salary) 是对的,你题目意思都没搞清楚
点赞

相关推荐

VirtualBool:都去逗他了?
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务