count(1)与count(*)的区别-宏鹏
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


count(1)与count(*)的区别

发表时间:2012/12/26 8:24:54 评论(1) 浏览(21241)  评论 | 加入收藏 | 复制
   
摘 要:count(*)与count(1)的区别
正 文:

麦田在【access入门】删除重复数据并不保留重复项文章中,用到了“Select 姓名 FROM 表1 GROUP BY 姓名 HAVING Count(1)>1”,网上搜索了下count(1)和count(*)的区别,对这个问题有疑问的网友可以看看
      count(1),其实就是计算一共有多少符合条件的行。1并不是表示第一个字段,而是表示一个固定值。我们可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.。同理,count(2)、count(3),得到的值完全一样,count('x'),count('y')都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。
      count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。

如果你的数据表没有主键,那么count(1)比count(*)快
      如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快
      如果你的表只有一个字段的话那count(*)就是最快的,不过两者的差别不大

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
在子窗体数据表中应用DCOUNT函数  【竹笛  2004/11/8】
Dcount  【帮助文件  2008/5/5】
Access开发平台--新增记录时弹出窗口提示不能重复录入的另一种...  【麥田  2009/7/30】
【access入门】统计符合条件的记录数\条数\个数\计数示例,c...  【麥田  2011/6/29】
【access入门】聚合函数的示例\聚合函数应用举例,Sum合计\...  【麥田  2012/3/25】
Access DCount函数获取指定记录数示例  【风行  2012/12/1】
常见问答
技术分类
相关资源
文章搜索
关于作者

宏鹏

文章分类

文章存档

友情链接