oracle count函数

简介: 1.  count函数1.1.  count查询结果count(*)是以所有字段做countcount(1)是以查询结果第一个字段做count,两者的结果是一样的这里的1应该不是位置变量,相当于给*的结果加一个值为1伪列,再count 1的数量所以结果和count(*)是一样的,即count(rowid)count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。
1.  count函数
1.1.  count查询结果
count(*)是以所有字段做count
count(1)是以查询结果第一个字段做count,两者的结果是一样的
这里的1应该不是位置变量,相当于给*的结果加一个值为1伪列,再count 1的数量
所以结果和count(*)是一样的,即count(rowid)
count(1),你可以理解成有个字段,这个字段就是固定值1,那么也是计算分组下重复的行数。
同理,count(2), count(3)或者count('x')等等都是一样的结果。
count(rowid)也是一样
1.2. count速度比较
如果你的数据表没有主键,那么count(1)比count(*)快   
如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快   
如果你的表只有一个字段的话那count(*)就是最快的啦   
select count(*), select count(0), select count(1) from table
在统计表的行数时候,经常用到 select count(*)
然而对于行数很多的大表,这样的查询速度将会很慢。因为这样的查询对表的每一行都会进行每个列的扫描。
You Asked
What is the difference between count(1) and count(*) in a sql query
eg.
select count(1) from emp;
   and
select count(*) from emp;
and we said...
nothing, they are the same, incur the same amount of work -- do the same thing, take the
same amount of resources.

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1156159920245

http://www.oracledba.co.uk/tips/count_speed.htm

比较快的办法是 select count(0), 这样每一行就只是扫描行头信息。
count(*)将返回表格中所有存在的行的总数包括值为null的行,然而count(列名)将返回表格中除去null以外的所有行的总数(有默认值的列也会被计入).  
distinct 列名,得到的结果将是除去值为null和重复数据后的结果  
目录
相关文章
|
7天前
|
SQL Oracle 关系型数据库
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
本文介绍了多种SQL内置函数,包括单行函数、非空判断函数、日期函数和正则表达式相关函数。每种函数都有详细的参数说明和使用示例,帮助读者更好地理解和应用这些函数。文章强调了字符串操作、数值处理、日期计算和正则表达式的使用方法,并提供了丰富的示例代码。作者建议读者通过自测来巩固学习成果。
12 1
[Oracle]面试官:你举例几个内置函数,并且说说如何使用内置函数作正则匹配
|
4月前
|
SQL Oracle 算法
|
4月前
|
SQL Oracle 关系型数据库
|
4月前
|
SQL Oracle 关系型数据库
Oracle|内置函数之INSTR
【7月更文挑战第5天】
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
6月前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
112 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
4月前
|
Oracle 关系型数据库 数据挖掘
|
6月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
75 0
|
5月前
|
存储 Oracle NoSQL
Oracle中decode函数详解
Oracle中decode函数详解
|
5月前
|
Oracle 关系型数据库 大数据
oracle递归函数
oracle递归函数