[20180415]如何取出這幾行資料.txt
[20180415]如何取出這幾行資料.txt
--//連結http://www.itpub.net/thread-2101289-1-1.html的討論,測試看看.
1.環境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SCOTT@book> create table t (id number ,a number);
Table created.
insert into t values (1,11);
insert into t values (1,12);
insert into t values (2,12);
insert into t values (3,11);
insert into t values (3,15);
insert into t values (3,16);
commit ;
SCOTT@book> select * from t;
ID A
--- ---
1 11
1 12
2 12
3 11
3 15
3 16
6 rows selected.
--//要求輸出:
ID A
--- ---
1 11
1 12
3 11
3 15
3 16
2.測試:
SCOTT@book> select CONNECT_BY_ROOT(a) a_root, CONNECT_BY_ISLEAF isleaf, CONNECT_BY_ISCYCLE iscycle, t.* from t connect by nocycle prior id= id and prior a <> a start with a=11;
A_ROOT ISLEAF ISCYCLE ID A
---------- ---------- ---------- ---------- ----------
11 0 0 1 11
11 1 1 1 12
11 0 0 3 11
11 0 1 3 15
11 1 1 3 16
11 0 1 3 16
11 1 1 3 15
7 rows selected.
--//可以發現還是不能滿足需求.
SELECT CONNECT_BY_ROOT(a) a_root, CONNECT_BY_ISLEAF isleaf, CONNECT_BY_ISCYCLE iscycle, level,lpad(' ', level*2,' ')||a as c20, t.*
FROM t
connect by nocycle prior id = id
AND prior a <> a
start WITH a = 11;
A_ROOT ISLEAF ISCYCLE LEVEL C20 ID A
---------- ---------- ---------- ---------- -------------------- ---------- ----------
11 0 0 1 11 1 11
11 1 1 2 12 1 12
11 0 0 1 11 3 11
11 0 1 2 15 3 15
11 1 1 3 16 3 16
11 0 1 2 16 3 16
11 1 1 3 15 3 15
7 rows selected.
--//如何避免後面2行的輸出.., 也就是如何避免從2層開始再探查.
SELECT CONNECT_BY_ROOT(a) a_root, CONNECT_BY_ISLEAF isleaf, CONNECT_BY_ISCYCLE iscycle, level,lpad(' ', level*2,' ')||a as c20, t.*
FROM t
connect by nocycle prior id = id
AND prior a < a
start WITH a = 11;
A_ROOT ISLEAF ISCYCLE LEVEL C20 ID A
---------- ---------- ---------- ---------- -------------------- ---------- ----------
11 0 0 1 11 1 11
11 1 0 2 12 1 12
11 0 0 1 11 3 11
11 0 0 2 15 3 15
11 1 0 3 16 3 16
11 1 0 2 16 3 16
6 rows selected.
--//還是不行,放棄!!簡單一點加distinct.
SCOTT@book> select distinct id,a from (select CONNECT_BY_ROOT(a) a_root, CONNECT_BY_ISLEAF isleaf, CONNECT_BY_ISCYCLE iscycle,level, t.* from t connect by nocycle prior id= id and prior a <> a start with a=11) order by 1,2;
ID A
---------- ----------
1 11
1 12
3 11
3 15
3 16
--//不知道還有好方法,放棄!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2152954/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 集合中隨機取出幾個資料隨機
- 如何取出 API 呼叫返回的 JSON 資料APIJSON
- 如何使資料庫中取出的資料保持原有格式(轉)資料庫
- 兩個list取出重複資料
- ls顯示前幾行或後幾行資料
- 大資料行業年薪幾十萬,這些大資料崗位薪資瞭解一下大資料行業
- 實驗-shell執行資料庫命令.TXT資料庫
- Xorm GroupBy 取出的資料異常踩坑ORM
- 如何從陣列中隨機取出幾個值組成新的陣列?陣列隨機
- 速看:大資料能在這幾個行業產生積極的影響!大資料行業
- 伺服器資料儲存,需注意這幾點!伺服器
- [20130115]測試從asm中取出spfile檔案以及一個資料檔案.txtASM
- mysql 同時插入幾行不同的資料 。MySql
- 如何選擇資料庫伺服器,參考這幾點讓你不再被坑資料庫伺服器
- python 如何一次隨機取出多條資料(能重複/不能重複)Python隨機
- 資料庫中事務、會話、執行緒這幾個概念是什麼關係資料庫會話執行緒
- 注意這幾點,輕鬆實現硬碟資料恢復硬碟資料恢復
- 伺服器資料儲存,這幾點要牢記。伺服器
- 資料庫的基本資訊,都在這幾張表裡了資料庫
- 【產品實測】如何快速有效提取手機資料?這幾款產品告訴你
- 在python後臺如何將客戶端提交的form表單資料提取出來?Python客戶端ORM
- excel怎麼快速下拉到幾千行 表格資料太長如何快速下拉Excel
- python如何將資料寫入本地txt文字檔案Python
- 瞭解這幾個大資料應用案例,讓你更瞭解大資料!大資料
- TDengine 如何進行資料建模?
- 大資料如何進行分析大資料
- 如何取出Gridview選中行的數值View
- 分析提取出重組raid所需的資料後使用北亞自研資料AI
- 解決資料庫讀取出的都是拉丁文亂碼資料庫
- hibernate從資料庫中取出的漢字是亂碼?資料庫
- [20160923]取出備份集的archivelog檔案.txtHive
- 一句話從 MySQL 取出重複行MySql
- Python資料儲存方式有幾種?如何使用?Python
- 企業內部資料如何進行資料分析
- 小白學大資料掌握這幾個方法可輕鬆入門大資料
- 大資料學習書籍 這幾本書一定要看大資料
- 選擇“大資料” 分析平臺時需要注意這幾點大資料
- 大資料分析該如何進行大資料