使用LISTAGG函式進行行轉列

2021-10-23 19:26:00 字數 809 閱讀 1495

語法:

listagg(exp1, exp2) 集函式 首先根據 sql 語句中的 group by 分組(如果

沒有指定分組則所有結果集為一組),然後在組內按照 within group 中的 order

by 進行排序,最後將表示式 exp1 用表示式 exp2 串接起來

listagg 的用法:

(《引數》[,《引數》]) within group(insert into t1 values(『小明』,『看書』);

insert into t1 values(『小明』,『跳舞』);

insert into t1 values(『小紅』,『書法』);

insert into t1 values(『小紅』,『唱歌』);

insert into t1 values(『小紅』,『烹飪』);

insert into t1 values(『小張』,『跑步』);

ListAGG函式使用

1.使用條件查詢 查詢部門為20的員工列表 查詢部門為20的員工列表 select t.deptno,t.ename from scott.emp t where t.deptno 20 效果 2.使用 listagg within group 將多行合併成一行 select t deptno,li...

使用 case when進行行列轉換

固定列數的行列轉換,表結構為 轉換後 要求 建立表,源表,表名 student 只用一句sql 得到轉換結果。解答 方法一 通過生成臨時表的方式操作 select name sum yw as 語文 sum sx as 數學 sum wy as 英語 from select name case su...

關於oracle函式listagg的使用說明

工作中經常遇到客戶提出這樣的需求,希望在彙總合併中,能夠把日期逐個列舉出來。如圖,原始資料是這樣的 客戶希望能夠實現這樣的彙總合併 那麼通常我會使用listagg這個函式,但是好多網上都是系統的全面的介紹listagg這個函式的使用方法,看起來很費力氣。在這裡我簡明扼要的說明一下 實現這個需求的語句...