新聞中心
Oracle中SYS_CONNECT_BY_PATH函數(shù)是非常重要的函數(shù),下面就為您介紹一個(gè)使用SYS_CONNECT_BY_PATH函數(shù)的例子,實(shí)例如下:

創(chuàng)新互聯(lián)建站主要業(yè)務(wù)有網(wǎng)站營(yíng)銷策劃、成都網(wǎng)站制作、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、小程序定制開(kāi)發(fā)、H5建站、程序開(kāi)發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開(kāi)展業(yè)務(wù)的過(guò)程中,公司還積累了豐富的行業(yè)經(jīng)驗(yàn)、全網(wǎng)營(yíng)銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
- create table test (a varchar2(10),b varchar2(10));
- INSERT INTO TEST (A, B) VALUES ('1', '我');
- INSERT INTO TEST (A, B) VALUES ('1', '們');
- INSERT INTO TEST (A, B) VALUES ('2', '一');
- INSERT INTO TEST (A, B) VALUES ('2', '起');
- COMMIT;
- SELECT A, B FROM TEST
- A B
- ---------- ----------
- 1 我
- 1 們
- 2 一
- 2 起
- 現(xiàn)在需要達(dá)到如下的效果,
- A B
- ---------- ----------
- 1 我,們
- 2 一,起
只想用一句sql來(lái)返回結(jié)果。
- SELECT A, LTRIM(MAX(SYS_CONNECT_BY_PATH(B, ',')), ',') B
- FROM (SELECT B, A, ROW_NUMBER() OVER(PARTITION BY A ORDER BY B DESC) RN
- FROM TEST)
- START WITH RN = 1
- CONNECT BY RN - 1 = PRIOR RN
- AND A = PRIOR A
- GROUP BY A;
其中,SYS_CONNECT_BY_PATH函數(shù)主要作用是可以把一個(gè)父節(jié)點(diǎn)下的所有子節(jié)點(diǎn)通過(guò)某個(gè)字符進(jìn)行區(qū)分,然后連接在一個(gè)列中顯示。
row_number函數(shù)的用途是非常廣泛,這個(gè)函數(shù)的功能是為查詢出來(lái)的每一行記錄生成一個(gè)序號(hào)。生產(chǎn)序號(hào)的方法通過(guò)over()函數(shù)里面的語(yǔ)句來(lái)控制。
網(wǎng)站標(biāo)題:Oracle中SYS_CONNECT_BY_PATH函數(shù)的妙用
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/djepjod.html


咨詢
建站咨詢
