mysql笔记——聚合函数+group by+having

题目:

有一个薪水表,salaries简况如下:
 
建表语句如下:
 
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t,以上例子输出如下:
 
解题思路:
需要查询薪水记录超过15次的员工信息,故需要用到聚合函数count()
知识点:
1、用COUNT()函数和GROUP BY语句可以统计同一emp_no值的记录条数
2、根据题意,输出的变动次数为t,故用AS语句将COUNT(emp_no)的值转换为t
3、由于COUNT()函数不可用于WHERE语句中,故使用HAVING语句来限定t>15的条件,HAVING和GROUP BY一般是组合着用的
 
mysql语句:
select emp_no, count(emp_no) as t from salaries
group by emp_no
having t > 15

 

posted @ 2021-03-12 14:42  chanzjj  阅读(100)  评论(0)    收藏  举报