count()是MySQL中的一个统计函数,可以统计查询结果的记录条数。比如“select count(1) from test”,可以计算出整个test1表的记录条数。执行结果如下:
mysql> select count(1) from test1;
| 3 |
+----------+
1 row in set (0.44 sec)
表示test1表中有3条信息。
可能大家会在很多地方看到select count(*) from test1这样的写法,所以有必要跟大家解析一下count(1)和count(*)的区别。
count(1)或括号中是其它数字、字段名,表示只选择该字段(或数字)进行查询,而count(*)表示选择所有的字段进行查询。所以结果是count(*)的查询效率比count(1)低,根据表的结构而定,一张很大的表,效率可能会低很多。所以,我个人的建议是,需要出现count的地方,都不要用count(*),这是跟服务器过不去。
count()往往跟group by结合,进行分类汇总。看看下面这个例子:
mysql> select t_password,count(1) from test1 group by t_password;
+----------------------------------+----------+
| t_password | count(1) |
+----------------------------------+----------+
| 0123456789012345678911 | 1 |
| 12345678901234567890123456789012 | 2 |
+----------------------------------+----------+
2 rows in set (0.05 sec)
这个查询结果的含义是,数据库中t_password这个字段,一共有两值。值为“0123456789012345678911”的记录有1条,值为“12345678901234567890123456789012”的记录有2条。
好了,关于MySQL使用count()来统计记录条数,本文就介绍这么多,希望对大家有所帮助,谢谢!