分组和组内计数

查找薪水涨幅超过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

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
评论
107
4
分享
牛客网
牛客企业服务