程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫分析函數應用實例之查找狀態全為1的ID

Oracle數據庫分析函數應用實例之查找狀態全為1的ID

編輯:Oracle數據庫基礎

Oracle數據庫分析函數應用實例之查找狀態全為1的ID是本文我們主要要介紹的內容,通過本文的例子讓我們來一起了解一下Oracle數據庫分析函數的使用吧,希望能夠對您有所幫助。

實例如下:

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的全部過程,本文就介紹到這裡了,希望本次的介紹能夠對您有所收獲!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved