美文网首页
MySQL中的count(1)和count(*)的区别

MySQL中的count(1)和count(*)的区别

作者: 码农小杨 | 来源:发表于2017-10-10 17:13 被阅读0次

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(1)和count(*)的区别

      本文链接:https://www.haomeiwen.com/subject/tvcbyxtx.html