COUNT() 函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数,使用方法有以下两种:
COUNT(*) 计算表中总的行数,无论某列有数值或者为空值。
COUNT(字段名) 计算指定列下总的行数,计算时将忽略空值的行。
在演示 COUNT 函数用法之前,我们先 t_user 用户表,表数据如下:
mysql> select * from t_user; +----+------+-----+------+----------+ | id | name | sex | age | salary | +----+------+-----+------+----------+ | 1 | 张三 | 男 | 22 | 6782.50 | | 2 | 李四 | 男 | 27 | 7523.00 | | 3 | 王五 | 女 | 22 | 6760.30 | | 4 | 赵六 | 男 | 24 | 6810.50 | | 5 | 王二 | 男 | 27 | 10280.00 | | 6 | 杜一 | 女 | 25 | 8700.00 | | 7 | NULL | 女 | NULL | 9750.00 | +----+------+-----+------+----------+ 7 rows in set (0.06 sec)
(1)查询 t_user 表中总的行数,如下:
mysql> select count(name) from t_user; +-------------+ | count(name) | +-------------+ | 6 | +-------------+ 1 row in set (0.05 sec)
当然,也可以使用 count(*) 统计 t_user 表中总的行数,如下:
mysql> select count(*) from t_user; +----------+ | count(*) | +----------+ | 7 | +----------+ 1 row in set (0.04 sec)
注意:在计算总数的时候对待 NULL 值的方式是,指定列的值为空的行被 COUNT() 函数忽略,但若不指定列,而在 COUNT() 函数中使用星号“*”,则所有记录都不忽略。