分组和组内计数

查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t

http://www.nowcoder.com/questionTerminal/6d4a4cff1d58495182f536c548fee1ae

1. 分析

分组,组内计数 count(emp_no) As t > 15

2. 代码

SELECT emp_no, COUNT(emp_no) AS t
FROM salaries
GROUP BY emp_no HAVING t > 15;
全部评论
请问一下SQL中的执行顺序不是先HAVING 再select吗? 为什么先的`having t > 15`能拿到后`SELECT emp_no, COUNT(emp_no) AS t` 中的t变量呢? 还是在执行这条SQL的时候会把AS的结果都先预编译?
2 回复 分享
发布于 2020-09-11 12:29
因为group by是按照empno分组的,当然是统计empno里有多少条数据。按照你的语句是记录有多少条salaries数据
2 回复 分享
发布于 2021-05-07 15:06
请问你这个怎么表现是工资涨幅的统计呢
1 回复 分享
发布于 2020-04-19 11:49
为什么count里面的是emp_no,不是salary呢?不应该是按照员工分组以后,再统计每个员工的不同工资数目吗?select emp_no, count(salary) from salaries group by emp_no having count(salary)>15,这样有啥错吗?
1 回复 分享
发布于 2020-10-18 17:51

相关推荐

点赞 评论 收藏
分享
106 4 评论
分享
牛客网
牛客企业服务