今天看到乙個題目,要求是行轉列,回來查了一下資料
題目要求是把
首先建立表
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";
得到![](https://pic.w3help.cc/e1f/a844f55d1c857af45d2b387461bb9.jpeg)
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...