自用 oracle分析函式,合併重複列

2021-09-02 12:26:30 字數 696 閱讀 7668

之前在專案中使用過,但是沒有理解透徹每次使用的時候都要重新找一下,所以這次把它儲存下來做個備份。

現在我需要將相同的品牌型別合併成一行,並用『,』隔開,sql如下:

select ltrim(sys_connect_by_path(dc_type, ','), ',')--封裝想要的格式

dc_type, dc_brand from

(select t.dc_id,t.dc_name,t.dc_brand,t.dc_type,row_number() over(partition by dc_brand order by dc_type) rn,

count(*) over(partition by dc_brand) cnt from tp_device t )

--對其進行分類排序

where level = cnt

start with rn = 1

connect by prior dc_brand = dc_brand  -- 對dc_brand  進行重複的合併

and prior rn = rn - 1 --對排序完的資料迴圈

order by dc_id;

oracle分析函式

oracle分析函式 sql plus環境 1 group by子句 create test table and insert test data.create table students id number 15,0 area varchar2 10 stu type varchar2 2 sc...

Oracle 分析函式

分析函式提供了跨行,多層級聚合引用值的能力,並且可以在資料子集中控制排序粒度。與聚合函式不同,分析函式並不將結果集聚合較少的行。分析函式是在主查詢結果的基礎上進行一定的分析,如分部門彙總,分部門求均值等等。分析函式的模式 function arg1,arg2,arg3.argn over parti...

oracle 分析函式 排序值分析函式

一 問題描述 查詢列表時,我們有時需要對查詢結果依據某個字段進行排名。如果每條記錄在排序欄位上都不相同,我們可以將原查詢作為乙個檢視,查詢其rownum,便可以實現簡單排序,例如 但是,很多時候我們想用來排序的字段都是有重複值的,此時可能需要將值相同的記錄名詞並列,那麼我們就需要用到oracle的分...