码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 中count(1) 和count(*) 的区别

时间:2016-12-10 22:05:56      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:区别   class   1.5   val   tin   重复数据   insert   targe   举例   

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  

 

 

Oracle 中count(1) 和count(*) 的区别

标签:区别   class   1.5   val   tin   重复数据   insert   targe   举例   

原文地址:http://www.cnblogs.com/lidan90/p/6157942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!