`

Oracle中count()函数

阅读更多
count(1)与count(*)比较:

如果你的数据表没有主键,那么count(1)比count(*)快
如果有主键的话,那主键(联合主键)作为count的条件也比count(*)要快
如果你的表只有一个字段的话那count(*)就是最快的啦
count(*) count(1) 两者比较。主要还是要count(1)所相对应的数据字段。
如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。
因为count(*),自动会优化指定到那一个字段。所以没必要去count(?),用count(*),sql会帮你完成优化的

count详解:

count(*)将返回表格中所有存在的行的总数包括值为null的行,然而count(列名)将返回表格中除去null以外的所有行的总数.
distinct 列名,得到的结果将是除去值为null和重复数据后的结果

----------------------------------------------------------------------------------------------------------------
举例演示如下:


SQL> create table test
2 (
3 ename varchar2(10),
4 sal number(4)
5 );

表已创建。

SQL> insert into test values('fxe1',90);

已创建 1 行。

SQL> insert into test(ename) values('fxe2');

已创建 1 行。

SQL> insert into test(ename) values('fxe3');

已创建 1 行。

SQL> insert into test(ename) values('fxe4');

已创建 1 行。

SQL> insert into test values('fxe5',80);

已创建 1 行。

SQL> insert into test values('fxe6',80);

已创建 1 行。

SQL> select * from test;

ENAME SAL
---------- ----------
fxe1 90
fxe2
fxe3
fxe4
fxe5 80

fxe6 80

SQL> select count(*) from test;

COUNT(*)
----------
6

SQL> select count(sal) from test;

COUNT(SAL)
----------
3


SQL> select count(distinct sal) from test;

COUNT(DISTINCTSAL)
------------------
2

SQL> select distinct sal from test;

SAL
----------
80
90


SQL> select count(distinct *) from test;
select count(distinct *) from test
*
ERROR 位于第 1 行:
ORA-00936: 缺少表达式


SQL> spool off
分享到:
评论
2 楼 anttu 2012-03-20  
anttu 写道
 

1 楼 anttu 2012-03-20  
 

相关推荐

    Oracle分析函数

    Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...

    SQLServer和Oracle的常用函数

    SQLServer和Oracle的常用函数

    使用Oracle的SQL函数实现工作日和节假日分组统计.pdf

    在Oracle中,我们可以使用COUNT函数来统计工作日和节假日的数量。例如,以下代码使用COUNT函数来统计工作日和节假日的数量: ```sql SELECT COUNT(CASE WHEN day_type = '工作日' THEN 1 ELSE NULL END) AS work_...

    oracle函数大全分析函数,聚合函数,转换函数,日期型函数,字符型函数,数值型函数,其他函数.docx

    Oracle 函数大全是对 Oracle 数据库中各种函数的总结和分类,包括分析函数、聚合函数、转换函数、日期型函数、字符型函数、数值型函数和其他函数等。 一、分析函数 Oracle 分析函数是 Oracle 数据库中的一种强大...

    包含了所有的oracle函数文档

    Oracle 函数分类 :单行函数 分组函数 分析函数单行函数分为:日期函数 数字函数 字符函数 转换函数 其他函数分组函数分为:max(最大值) min(最小值) sum(求和) avg(平均) count(求个数) 分析函数分为:rank() 具有相同...

    常用oracle函数SQL中的单记录函数

    常用oracle函数SQL中的单记录函数 CONCAT连接两个字符串; LENGTH返回字符串的长度 SUBSTR(string,start,count)取子字符串,从start开始,取count个

    Oracle分析函数基本概念和语法总结及Regexp_***用法

    Oracle分析函数基本概念和语法总结及Regexp_***(regexp_substr,regexp_instr, regexp_like, regexp_replace, regexp_count)用法

    Oracle函数大全实例

    总结了开发中Oracle常用到的一些函数,希望对大家有所帮助。 1、单行函数:表的每行都会有一个结果(字符函数、数字函数、日期函数、转换函数) 单行函数可以嵌套。嵌套函数的执行顺序是由内到外。 2、多行函数:表...

    oracle-常用函数.docx

    下面将详细介绍 Oracle 中的常用函数。 1. ASCII 函数 ASCII 函数返回与指定的字符对应的十进制数。例如,select ascii('A') from dual; 将返回 65,因为 A 的 ASCII 码是 65。 2. CHR 函数 CHR 函数将整数转换...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...

    oracle高级语法(事物、函数、存储过程、触发器、异常)[参照].pdf

    内置函数是 Oracle 数据库提供的函数,例如 max、min、avg、count 等。用户定义函数是用户自定义的函数,可以用于实现复杂的业务逻辑。 存储过程 存储过程是 Oracle 数据库中的一种程序单元,存储过程可以接受参数...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    oracle分析函数

    ·3Oracle分析函数三——SUM,AVG,MIN,MAX,COUNT ·4Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST… ·5Oracle分析函数五——统计分析函数 ·6Oracle分析函数六——数据分布函数及报表函数 ·7Oracle分析...

    东软oracle在线期中考试一.docx

    COUNT 函数是 Oracle 数据库中的一个聚集函数,用于计算表中的行数。例如,使用 COUNT 函数可以计算雇员表中的行数。 知识点十:组函数 组函数是 Oracle 数据库中的一个函数,用于对数据进行分组操作。例如,使用 ...

    oracle分析函数在BI分析中应用事例

    聚合函数可以是:sum,count,avg,max,min,first_value,last_value,rank,dense_rank ,row_number, ratio_to_report Over不能单独使用,用来制定数据窗口大小 Partition by表示分类数据集合,在此集合上的运算 Order by...

    oracle函数介绍(4) 非著名函数之聚合函数.doc

    聚合函数可被用于select,order by以及having子句中。其运算可以基于group by的结果,也可以直接对所有记录进行运算。当然,这种类型语句相信大家平常也用的比较多,概念性的就不多介绍了,有一点需要注意的是,除了...

    oracle函数介绍(3) 著名函数之聚合函数.doc

    聚合函数可被用于select,order by以及having子句中。其运算可以基于group by的结果,也可以直接对所有记录进行运算。当然,这种类型语句相信大家平常也用的比较多,概念性的就不多介绍了,有一点需要注意的是,除了...

    oracle_11gR2_07 数据操作(select,insert,update,delete) 和 常用函数

    oracle_11gR2_07 数据操作(select,insert,update,delete) 和 常用函数(count,max,min,avg,sum,decode,distinct)

    《Oracle Database编程指南》15-01:count()函数

    count函数计算组中的行数。 2、语法 count函数语法如下所示: count( {* | [distinct | all]} expr ) 该语法可以分解为下面的形式: COUNT( * ) 计算组中所有的行(包括具有空值和重复的行); COUNT( expr ) 如果expr...

    Oracle期末考试试题(卷)与答案解析.doc

    在 Oracle 中,COUNT(*) 统计函数可以用来查询一个表的总记录数。COUNT(*) 统计函数可以忽略 NULL 值。 在 Oracle 中,可以使用 SPOOL 命令将 SQL 命令的运行结果保存到文件中。SPOOL 命令可以将查询结果保存到文件...

Global site tag (gtag.js) - Google Analytics