1.使用條件查詢 查詢部門為20的員工列表
-- 查詢部門為20的員工列表
select t.deptno,t.ename from scott.emp t where t.deptno = '20' ;
效果:2.使用 listagg() within group () 將多行合併成一行
select
t .deptno,
listagg (t .ename, ',') within group (order by t .ename) names
from
scott.emp t
where
t .deptno = '20'
group by
t .deptno
效果:3. 使用 listagg() within group () over 將多行記錄在一行顯示
select
t .deptno,
listagg (t .ename, ',') within group (order by t .ename) over(partition by t .deptno)
from
scott.emp t
where
t .deptno = '20'
效果:
關於oracle函式listagg的使用說明
工作中經常遇到客戶提出這樣的需求,希望在彙總合併中,能夠把日期逐個列舉出來。如圖,原始資料是這樣的 客戶希望能夠實現這樣的彙總合併 那麼通常我會使用listagg這個函式,但是好多網上都是系統的全面的介紹listagg這個函式的使用方法,看起來很費力氣。在這裡我簡明扼要的說明一下 實現這個需求的語句...
關於oracle函式listagg的使用說明
做專案的過程中遇到過乙個這樣的需求,在 使用者查詢 前台加乙個字段 使用者角色 要將使用者的所有角色查詢出來放到乙個欄位中,角色之間用 分隔。發現乙個辦法是使用oracle的listagg方法。with tmp as select tu.username,te.emp name,te.emp dut...
使用LISTAGG函式進行行轉列
語法 listagg exp1,exp2 集函式 首先根據 sql 語句中的 group by 分組 如果 沒有指定分組則所有結果集為一組 然後在組內按照 within group 中的 order by 進行排序,最後將表示式 exp1 用表示式 exp2 串接起來 listagg 的用法 引數 ...