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()来统计记录条数,本文就介绍这么多,希望对大家有所帮助,谢谢!

03-14 00:45