在oracle中使用cursor合併多行資料

時間 2023-04-16 19:45:06

1樓:網友

如果這兩行有個共同的其他列作為分組,標誌他們是同一組、比如姓名編號之類的,是可以group by後min出來的。

select 姓名,min(引流管) as 引流管,min(化療) as 化療, min(放療) as 放療。

from 記錄表。

group by 姓名;

如何將oracle中同一列的多行記錄拼接成一個字串

2樓:刺友互

1、新建php檔案。

2、宣告陣列變數。

3、用implode函式使陣列拼接成字串,連線符為-。

4、輸出連線後的字串。

6、用implode函式使陣列拼接成字串,連線符為?。

3樓:匿名使用者

需要用wm_concat函式來實現。

如目前在emp表中查詢資料如下:

要按照deptno相同的將ename以字串形式合併,可用如下語句:

select deptno,wm_concat(ename) from emp group by deptno;

查詢結果:

4樓:笨笨

我們常常說 用sql將oracle中同一列的多行記錄拼接成一個字串是如何實現的:[sql]--原始資料-- a 111-- b 222-- a 333-- a 444-- b 555-- 最終結果-- a 111*333*,max(substr(l4.

分組內容,2)) 最終欄位值from(,sys_connect_by_path(,'as 分組內容from(selectl2.

l_time,分組內編號 as 分組欄位加編號,分組內編號-1) as 上級分組欄位加編號from(selectl1.

l_time --分組依據, -同一列中 要合併的不同行 的值,row_number() over (partition by order by l1.

l_content asc) 分組內編號from logs l1) l2) l3start with l3.上級分組欄位加編號 like '%0'connect by prior l3.分組欄位加編號=l3.

上級分組欄位加編號) l4where l_time='111'group by row_number() over(partition by a order by b desc) 新列名-- 根據a分組,在分組內部根據b排序,而此函式計算的值就表示每組內部排序後的順序編號(組內連續的唯一的)--sys_connect_by_path 函式: 第一個引數是形成樹形式的欄位,第二個引數是父級和其子級分隔顯示用的分隔符-- connect by prior 是標示父子關係的對應-- start with 代表你要開始遍歷的的節點。

5樓:匿名使用者

使用cursor迴圈拼接即可!

(很急)如何一次取oracle遊標中的多行值

6樓:

定義多個變數, 或者定義一個陣列。

把遊標的值都插入到變數中在用。

oracle中怎麼用過程和遊標來新增一條資料?

在oracle中,大資料量情況下,merge是否比cursor 快啊???目前我們儲存過程都是用cursor,但很慢。。

7樓:匿名使用者

看你的業務邏輯是否複雜。

如果簡單的, 可以一句 merge 語句就處理掉的。

那麼當然優先使用 merge 處理比較好。

假如業務邏輯很複雜, 一句 merge 語句無法處理。

迫不得已,只能使用 遊標處理的。

可以嘗試使用 bulk collect

看看是否能有一些效能上面的提升。

8樓:網友

通常,對我來說1萬以上的資料,能不用遊標就不用了。如果你確定可以用merge來處理,那麼當然是用那個好。300w...

遊標用起來方便,可是效率實在是太低了。

9樓:jg_陳

具體要看你都做什麼操作。

緊緊是查詢,還是有別的操作。

關於在ecel中使用sum和countif函式結合完成不

這個公式是陣列公式,記得使用ctrl shift enter 三鍵組合結束輸入。應該是 把完整的公式複製來看看,才知道問題所在 你確定是在編輯欄裡以3鍵組合結束輸入的嗎?公式改為 sumproduct 1 countif d3 d97,if b3 b97 香港 d3 d97,這是普通公式 我研究了一...

在photoshop中使用裁剪工具後如何撤銷

皓月千里 當你正在裁剪時,不想要了,就按滑鼠右鍵,選擇 取消 就行了 何意撤銷多步 你可以按ctrl z,這個只能撤銷一步,按ctrl alt z就能撤銷多步,但是ps裡的ctrl alt z和qq裡的熱鍵是一樣的,你要去qq的 基本設定 裡的 熱鍵 裡把 ctrl alt z熱鍵 改了,就能正常用...

怎麼在excel中使用高階篩選功能

若要通過複雜的條件。條件 為限制查詢結果集中包含的記錄而指定的條件。例如,以下條件用於選擇。orderamount 欄位的值大於。的記錄 order amount 30000。來篩選單元格區域,請使用 資料 選項卡上 排序和篩選 組中的 高階 命令。高階 命令的工作方式在幾個重要的方面與 篩選 命令...