1.count(*)
If you specify the asterisk (*), then this function returns all rows, including duplicates
and nulls.
2.count(*)和count(1)都是统计所有行的
3.count(colname)统计col列不为空的记录
#mysql8.0
mysql> select * from student;
+-----------+-----------+---------+--------+---------+
| studentid | studentno | stuname | stuage | gradeid |
+-----------+-----------+---------+--------+---------+
| 1 | s1101 | 张三 | 11 | 1 |
| 2 | s1102 | 李四 | 22 | 1 |
| 3 | s1103 | 王五 | 33 | 1 |
| 4 | s1104 | 赵柳 | 44 | 2 |
| 5 | s1105 | 田七 | 55 | 2 |
| 110 | s110 | abc | 66 | 2 |
| 111 | s111 | 谢大脚1 | 77 | 2 |
| 112 | sno110 | 广坤 | 88 | 2 |
| 113 | sno11 | 谢广坤 | 99 | 3 |
| 114 | sno001 | 广坤1 | 1 | 3 |
| 115 | s00111 | 谢大脚2 | 2 | 3 |
| 116 | s00113 | 谢大脚3 | 3 | 3 |
| 117 | s00114 | 谢大脚4 | 4 | 3 |
| 118 | NULL | NULL | NULL | NULL |
+-----------+-----------+---------+--------+---------+
14 rows in set (0.00 sec)
mysql> select count(*),count(1),count(gradeid) from student;
+----------+----------+----------------+
| count(*) | count(1) | count(gradeid) |
+----------+----------+----------------+
| 14 | 14 | 13 |
+----------+----------+----------------+
1 row in set (0.00 sec)
oracle 11.2.0.4,表现行为相同。