备注:测试数据库版本为MySQL 8.0
如需要scott用户下建表及录入数据语句,可参考:
scott建表及录入数据sql脚本
一.需求
计算一个表的行数,或计算某个列中值的个数。例如,找到职员总数及每个部门的职员数。
二.解决方案
计数使用count(*) 即可
如果要对表内分组进行计数,可以用group by和count(*)即可
count(*)是表的总数,count(列)是列不为空的总数
代码:
select count(*)
from emp;
select deptno,count(*)
from emp
group by deptno;
select deptno,count(*),count(comm),count('hello')
from emp
group by deptno;
测试记录:
mysql> select count(*)
-> from emp;
+----------+
| count(*) |
+----------+
| 14 |
+----------+
1 row in set (0.01 sec)
mysql> select deptno,count(*)
-> from emp
-> group by deptno;
+--------+----------+
| deptno | count(*) |