Oracle 將多行多列結果集轉成單行單列結果集

2021-09-11 17:06:56 字數 740 閱讀 7562

本章節內容如題.

話不多說直接上圖

現要將oralce中圖1結果集,轉成圖2所示結果集

圖1 sql:   select channel_id,count(1) from sms_send group by channel_id;

多行多列轉單行單列,別想著一口氣完成,分步慢慢來

第一步:將多列轉成單列----------使用 || '-' ||

sql:  select channel_id || '-' || count(1) as subject from sms_send   group by channel_id

效果如下圖

第二步:將多行轉成單行--------使用 wmsys.wm_concat函式

sql:select wmsys.wm_concat(o.subject)

from (select channel_id || '-' || count(1) as subject

from sms_send

group by channel_id) o;

到此完結.

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 多行轉多列

轉換結果如上圖 建立測試標 create table 成績表 編號 int identity 1,1 not null,姓名 varchar 50 null,語文 numeric 5,2 null,數學 numeric 5,2 null,英語 numeric 5,2 null on primary ...

hive多行轉多列

一 需求 需要將多行的資料,按照某個維度轉換為一行。轉換前 轉換後 db price area name 為 東北 的total price actual db qty area name 為 東北 的qty。二 解決方案 1 sql select brand,max case when area ...