在MySQL中统计数量用到的函数是 count()
同时我也会用到分组查询关键字 group by 、having
例子:emp_no为主键
有一个工资表salaries, 表结构如下
请你查找薪水记录超过15次的员工号emp_no以及其对应的记录次数t,以上例子输出如下:
此题应注意以下四点:
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即可
select emp_no,count(emp_no) as t from salaries group by emp_no having emp_no>15
标签:
MySQL 中查询统计数量
count()