oracle記錄累計演算法
SQL> select * from test;
USERNAME SUBJECT
-------------------- --------------------
TOM T1
TOM T2
TOM T3
JACK J1
JACK J2
JACK J3
JACK J4
要求組織成:TOM(T1,T2,T3) , JACK(J1,J2,J3,J4)的形式
演算法:
declare
v_head varchar2(4000) :='(';
v_tail varchar2(4000) :=')';
v_body varchar2(4000) :=')';
v_head_section varchar2(4000) :='';
begin
for i in (select distinct username from test) loop
v_head_section := i.username || v_head;
v_body := '';
for j in (select username,subject from test) loop
if i.username = j.username then
v_body := v_body || ',' || j.subject;
end if;
end loop;
dbms_output.put_line(v_head_section || trim(',' from v_body) || v_tail);
end loop;
end;
執行PL/SQL程式輸出結果:
TOM(T1,T2,T3)
JACK(J1,J2,J3,J4)
USERNAME SUBJECT
-------------------- --------------------
TOM T1
TOM T2
TOM T3
JACK J1
JACK J2
JACK J3
JACK J4
要求組織成:TOM(T1,T2,T3) , JACK(J1,J2,J3,J4)的形式
演算法:
declare
v_head varchar2(4000) :='(';
v_tail varchar2(4000) :=')';
v_body varchar2(4000) :=')';
v_head_section varchar2(4000) :='';
begin
for i in (select distinct username from test) loop
v_head_section := i.username || v_head;
v_body := '';
for j in (select username,subject from test) loop
if i.username = j.username then
v_body := v_body || ',' || j.subject;
end if;
end loop;
dbms_output.put_line(v_head_section || trim(',' from v_body) || v_tail);
end loop;
end;
執行PL/SQL程式輸出結果:
TOM(T1,T2,T3)
JACK(J1,J2,J3,J4)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-1079386/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle計算表的記錄數Oracle
- oracle實驗記錄 (oracle consistent gets 計算)Oracle
- 新的GFS累積降水變數-兩種不同的累積降水記錄變數
- Oracle積累Oracle
- Oracle之記錄Oracle
- 網站三張大表update,insert每天累計平均1億記錄量!!!!!!網站
- oracle實驗記錄 (計算hash join cost)Oracle
- 面試演算法題記錄面試演算法
- Oracle RAC 文件 (記錄)Oracle
- oracle 記錄0402Oracle
- oracle實驗記錄 (oracle b*tree index訪問Cost計算(1))OracleIndex
- oracle實驗記錄 (oracle reset parameter)Oracle
- oracle日誌操作記錄Oracle
- Oracle DBA 問題記錄Oracle
- oracle 800 電話記錄Oracle
- Oracle刪重複記錄Oracle
- oracle實驗記錄 (flashback)Oracle
- oracle實驗記錄 (OMF)Oracle
- oracle實驗記錄 (NET)Oracle
- oracle實驗記錄 (audit)Oracle
- Oracle 工具包記錄Oracle
- 在oracle查詢記錄時給記錄加鎖(轉)Oracle
- oracle實驗記錄 (FTS的cost與基數計算)Oracle
- oracle實驗記錄 (全表掃描COST計算方法)Oracle
- oracle實驗記錄(INDEX fast full scan 的成本計算)OracleIndexAST
- oracle實驗記錄 (oracle 資料字典)Oracle
- 《演算法圖解》學習記錄演算法圖解
- 演算法練習記錄(24.10.5)演算法
- 記錄一個演算法網站演算法網站
- oracle實驗記錄 (oracle單表選擇率與基數計算(1))Oracle
- oracle實驗記錄 (oracle單表選擇率與基數計算(2))Oracle
- oracle實驗記錄 (oracle單表選擇率與基數計算(3))Oracle
- Oracle Data Redaction實驗記錄Oracle
- 刪除Oracle重複記錄Oracle
- oracle V$PGASTAT檢視記錄OracleAST
- 記錄一個Oracle引數Oracle
- oracle實驗記錄 (block cleanout)OracleBloC
- oracle實驗記錄 (dump undo)Oracle