cocobear9  
一枚普通的zisuer(lll¬ω¬),努力每天多学一点点

链接:https://www.nowcoder.com/questionTerminal/6d4a4cff1d58495182f536c548fee1ae
来源:牛客网

此题应注意以下四点:
1、用COUNT()函数和GROUP BY语句可以统计同一emp_no值的记录条数
2、根据题意,输出的涨幅次数为t,故用AS语句将COUNT(emp_no)的值转换为t
3、由于COUNT()函数不可用于WHERE语句中,故使用HAVING语句来限定t>15的条件
4、最后存在一个理解误区,涨幅超过15次,salaries中相应的记录数应该超过16(从第2条记录开始算作第1次涨幅),不过题目为了简单起见,将第1条记录当作第1次涨幅,所以令t>15即可
 

可以这样去理解group by和聚合函数

SELECT emp_no,COUNT(emp_no) t FROM `salaries` GROUP BY emp_no having t>15

 

posted on 2020-11-27 14:37  cocobear9  阅读(134)  评论(0)    收藏  举报