不经过悉心栽培,花儿开不出鲜艳的花朵;不经过时间的历练,幼苗长不成参天大树。

sql中count(*)和count(字段名)区别讲解

database 建伟 5343℃ 0评论

我大致分俩个点说一下这俩的区别:

1.按查询结果方面:

简单来说count(*)统计的是结果集的总条数,count(字段名)统计的是该字段值不为null的总条数,注意是不为null。看下面这个例子:

测试数据表:

20120604015031178

执行结果

SELECT COUNT(*) c1 ,COUNT(ADDRESS) c2 FROM test

20120604015037876

2.按效率方面:

count(字段名)是忽略null值的,通常大家比把字段名指定为主键ID 也就是count(id);

一般来说count(字段)更有效率,因为这个已经明确的指定了count()的内容.而count(*),要先翻译星号的.不过如果你的表数据量几万行以下,几乎没什么差别.同样的,也可以写count(1).

 

转载请注明:Li Jianwei's Blog » sql中count(*)和count(字段名)区别讲解

喜欢 (7)or分享 (0)
web技术交流群
22765697