MySQL 中查询统计数量count()

作者: cheng 发布时间: 2023-01-08 浏览: 802 次 编辑

在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