oracle中多行轉單行的兩種方法

2021-08-27 11:38:32 字數 705 閱讀 9581

select wmsys.wm_concat(多行轉轉單行的列) from tmp t group by 按照那一列分組

按照部門id分組,將同乙個部門的人的姓名放在一行:

select t.depno,wmsys.wm_concat(t.name) from tmp t group by t.depno
執行sql如下:

注意:這裡wmsys.wm_concat的返回值型別是clob型別!

select listagg(多行轉單行的列,分隔符) within group(order by 按哪一列分組) from tmp t group by 按哪一列分組
select listagg(t.name,',') within group(order by t.depno) from tmp t group by t.depno
執行sql如下:

oracle多行轉單行多列

需求 從a轉成b 需要用到以下函式 wm concat 多行轉成一列 case when then else end regexp substr sql如下 select material code,store id,case when regexp substr wm concat shippin...

《轉》SQL server事務的兩種用法()

事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。在sql server net 開發環境下,有兩種方法能夠完成事務的操作,保...

oracle分頁的兩種方式

方式一 select from select rownum r e.empno from select from emp order by sal desc e where r 5 and r 8 注 在oracle中rownum永遠是從1開始的,所以where條件不能 使用 比如 蓋8層樓,123...