Oracle数据库分析函数应用实例之查找状态全为1的ID

Oracle数据库分析函数应用实例之查找状态全为1的ID是本文我们主要要介绍的内容,通过本文的例子让我们来一起了解一下Oracle数据库分析函数的使用吧,希望能够对您有所帮助。

岱岳网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联建站于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

实例如下:

1、表结构和测试数据插入

建表:

 
 
 
  1. create table TAB_FXHS    
  2. (    
  3. id VARCHAR2(32),    
  4. zt VARCHAR2(2)    
  5. );   

-- Add comments to the table 

 
 
 
  1. comment on table TAB_FXHS    
  2. is '用于统计状态值全为正常的id值';   

-- Add comments to the columns 

 
 
 
  1. comment on column TAB_FXHS.id    
  2. is '主键ID';    
  3. comment on column TAB_FXHS.zt    
  4. is '状态';   

插入测试数据:

 
 
 
  1. prompt Importing table TAB_FXHS...    
  2. set feedback off    
  3. set define off    
  4. insert into TAB_FXHS (ID, ZT)values ('10125', '0');    
  5. insert into TAB_FXHS (ID, ZT)values ('10161', '0');    
  6. insert into TAB_FXHS (ID, ZT)values ('10141', '0');    
  7. insert into TAB_FXHS (ID, ZT)values ('10126', '1');    
  8. insert into TAB_FXHS (ID, ZT)values ('10102', '0');    
  9. insert into TAB_FXHS (ID, ZT)values ('10103', '0');    
  10. insert into TAB_FXHS (ID, ZT)values ('10121', '0');    
  11. insert into TAB_FXHS (ID, ZT)values ('10121', '1');    
  12. insert into TAB_FXHS (ID, ZT)values ('10121', '0');    
  13. insert into TAB_FXHS (ID, ZT)values ('10121', '3');    
  14. prompt Done.   

2、 功能需求说明

在表TAB_FXHS中,ID是关键字段,ZT是状态。

ID中可能会有重复的值,现在要求找出ZT全为1的所有ID值。

3、功能实现的SQL语句 

 
 
 
  1. WITH ZT_PARTITION_BY_ID AS    
  2. (SELECT ID, ZT, COUNT(ZT) OVER(PARTITION BY ID ORDER BY ID) ID_ZT    
  3. FROM TAB_FXHS    
  4. GROUP BY ID, ZT)    
  5. SELECT *    
  6. FROM ZT_PARTITION_BY_ID    
  7. WHERE ID_ZT = 1    
  8. AND ZT = 1;   

以上就是Oracle数据库中分析函数的应用实例之实现查找状态全为1的ID的全部过程,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

文章标题:Oracle数据库分析函数应用实例之查找状态全为1的ID
标题路径:http://www.shufengxianlan.com/qtweb/news33/122183.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联