当前位置:网站首页>oracle row to column, column to row summary
oracle row to column, column to row summary
2022-07-30 06:39:00 【m0_67403240】
1. Row to Column

(1) decode implementation
SELECT t_year,
MAX(DECODE(t_month,'January',t_value)) AS January,
MAX(DECODE(t_month,'February',t_value)) AS February,
MAX(DECODE(t_month,'March',t_value)) AS March,
MAX(DECODE(t_month,'April',t_value)) AS April
FROM a_testtable WHERE t_month IN('1month','February','March','April')
GROUP BY t_year;

(2) case when implementation
SELECT t_year,
MAX(CASE t_month WHEN 'January' THEN t_value END) AS January,
MAX(CASE t_month WHEN 'February' THEN t_value END) AS February,
MAX(CASE t_month WHEN 'March' THEN t_value END) AS March,
MAX(CASE t_month WHEN 'April' THEN t_value END) AS April
FROM a_testtable WHERE t_month IN('January','February','March','April')
GROUP BY t_year;

(3) pivot function
SELECT * FROM a_testtable
PIVOT(SUM(t_value) FOR t_month IN('January' AS January,'February' AS February,'March' AS March,'April' AS Fourmonth));
SELECT * FROM
(SELECT t_year AS ye,t_month AS mon,t_value AS val FROM a_testtable) a
PIVOT(SUM(val) FOR mon IN('January' AS January,'February' AS February, 'March' AS March, 'April' AS April));

2-column line change
Prepare tables and data

(1) decode implementation
SELECT t_year,
DECODE(lvl,1,'January',2,'February',3,'March',4,'April') AS t_month,
DECODE(lvl,1,one_m,2,two_m,3,tree_m,4,four_m) AS t_qty
FROM b_testtable,(SELECT LEVEL lvl FROM dual CONNECT BY LEVEL<=4)
ORDER BY t_year,t_month;

(2) case when implementation
SELECT t_year,
CASE lvl WHEN 1 THEN 'January'
WHEN 2 THEN 'February'
WHEN 3 THEN 'March'
WHEN 4 THEN 'April'
END AS t_month,
CASE lvl WHEN 1 THEN one_m
WHEN 2 THEN two_m
WHEN 3 THEN tree_m
WHEN 4 THEN four_m
END AS t_qty
FROM b_testtable,(SELECT LEVELlvl FROM dual CONNECT BY LEVEL<=4)
ORDER BY t_year,t_month;

(3) Unpivot function implementation
SELECT * FROM b_testtable
UNPIVOT(t_qty FOR t_month IN(one_m AS 'January',two_m AS 'February',tree_m AS 'March',four_m AS 'April'))
ORDERBY t_year,t_month;

边栏推荐
猜你喜欢

标准输入输出流(System.in,System.out)

JDBC一文搞懂

在弹性布局flex布局中,行内标签也能直接加宽高
![[Mini Program Project Development--Jingdong Mall] Classification Navigation Area of uni-app](/img/cb/b0b79444dc90980cd2220ff9e68549.png)
[Mini Program Project Development--Jingdong Mall] Classification Navigation Area of uni-app

【文献阅读】Age Progress/Regression by Conditional Adversarial Autoencoder 基于条件对抗自编码器(CAAE)的老化/去龄化方案
![[PASECA2019]honey_shop](/img/8f/7161a63dab10dc02fef1fea075401a.png)
[PASECA2019]honey_shop
![[HCTF 2018]admin](/img/4e/58234ca163c22fc334334eb89a5b00.png)
[HCTF 2018]admin

攻防世界easy_web

使用PyQt5为YoloV5添加界面(一)

盲注、报错注入、宽字节注入、堆叠注入学习笔记
随机推荐
【调优】一个 Spark 任务某天突然变慢怎么解决
CTF之misc-内存分析(Volatility)
[MATLAB]图像处理——交通标志的识别
node手写服务器实现访问index页面
oracle行转列、列转行总结
Calendar类的习题
目前主流浏览器以及对应的内核
【Spark】Spark 高频面试题英语版(1)
批量自动归集
FastAPI 快速入门
SSTI range
盲注、报错注入、宽字节注入、堆叠注入学习笔记
CTFSHOW命令执行【web29-web124】未完待续
[PASECA2019]honey_shop
SSTI靶场
[HCTF 2018]admin
sqli-labs靶场 SQL注入学习 Less-1
认识虚拟dom
使用Nodejs搭建Web Server(入门教程)
文件上传漏洞的绕过