oracle資料表行轉列

2021-08-20 09:25:51 字數 1146 閱讀 6063

今天看到乙個題目,要求是行轉列,回來查了一下資料

題目要求是把

首先建立表

create table a (

year varchar2(255),

month varchar2(255),

amount number

);

然後插入資料

insert into "a" values ('2016', '1', '1.1');

insert into "a" values ('2016', '2', '1.2');

insert into "a" values ('2017', '1', '2.1');

insert into "a" values ('2017', '2', '2.2');

insert into "a" values ('2018', '1', '3.1');

insert into "a" values ('2018', '2', '3.2');

首先執行

select * from a;
得到

方法一:使用case語句

select

a."year",

max( case a."month" when '1' then a."amount" else 0 end ) m1,

max( case a."month" when '2' then a."amount" else 0 end ) m2

from

a group by

a."year";

得到

mysql單錶行轉列 mysql資料行轉列

在你找工作的經歷當中,是否有面試官問過你 資料庫行轉列如何實現?乙個典型的例子如下 有這樣乙個訂單表 om order 一條記錄包含訂單號 建立日期 訂單總金額 讓你統計不同年份對應各月份的銷售情況,要求每一年的銷售情況一行展示,效果如下 年份 一月 二月 三月 四月 五月 六月 七月 八月 九月 ...

oracle 行轉列,多行轉列

問題描述 應公司要求,設計功能,乙個id,對應不同的值,展示的時候不同的值拼接展示,如何實現 解決思路 1 拼接字串,想到了 oracle function 這樣肯定能實現,但是比較麻煩 2 oracle 自帶的乙個函式 wm concat 函式 非常給力 上 測試表1 create table c...

oracle行轉列實踐

在oracle 11g中,oracle 增加了2個查詢 pivot 行轉列 和unpivot 列轉行 pivot 聚合函式 for 列名 in 型別 其中 in 中可以指定別名,in中還可以指定子查詢 行轉列 select org id,item,sum value from rhsa gcfx r...