Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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

时 间:2012-12-26 08:24:54
作 者:宏鹏   ID:21115  城市:上海
摘 要: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群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助