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和重复数据后的结果  
目录
相关文章
|
4天前
|
SQL Oracle 关系型数据库
Oracle之日期计算相关函数
Oracle之日期计算相关函数
51 0
|
4天前
|
SQL Oracle 关系型数据库
Oracle之regexp系列函数详解
Oracle之regexp系列函数详解
168 1
|
8月前
|
存储 SQL Oracle
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
Oracle数据库批量删除表、视图、序列、存储过程、函数脚本
72 0
|
4天前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
42 0
|
4天前
|
SQL Oracle 关系型数据库
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
69 0
JAVAEE框架数据库技术之12_oracle常用函数和高级查询子查询
|
4天前
|
Oracle 算法 关系型数据库
Oracle常用系统函数之数字类函数:数字的魔术师
【4月更文挑战第19天】Oracle数据库中的数字类函数是数字处理的魔术师,包括`ROUND`(四舍五入),`CEIL`和`FLOOR`(向上/下取整),以及`ABS`(计算绝对值)。还有`MOD`、`TRUNC`和`POWER`等函数,提供求余数、截断和计算幂的功能。熟练运用这些函数能提升数据管理效率,让处理数字变得更简单、有趣。
|
4天前
|
SQL Oracle 关系型数据库
Oracle查询优化-聚集函数
【2月更文挑战第5天】【2月更文挑战第13篇】聚集函数
20 4
|
4天前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
36 0
|
4天前
|
SQL Oracle 算法
Oracle函数
Oracle函数
98 1
|
4天前
|
SQL Oracle 关系型数据库
Oracle之有哪些日期计算函数?
Oracle之有哪些日期计算函数?
117 0