当前位置:网站首页>oracle行转列、列转行总结
oracle行转列、列转行总结
2022-07-30 05:42:00 【m0_67403240】
1.行转列

(1)decode实现
SELECT t_year,
MAX(DECODE(t_month,‘1月’,t_value)) AS 一月,
MAX(DECODE(t_month,‘2月’,t_value)) AS 二月,
MAX(DECODE(t_month,‘3月’,t_value)) AS 三月,
MAX(DECODE(t_month,‘4月’,t_value)) AS 四月
FROM a_testtable WHERE t_month IN(‘1月’,‘2月’,‘3月’,‘4月’)
GROUP BY t_year;

(2)case when实现
SELECT t_year,
MAX(CASE t_month WHEN ‘1月’ THEN t_value END) AS 一月,
MAX(CASE t_month WHEN ‘2月’ THEN t_value END) AS 二月,
MAX(CASE t_month WHEN ‘3月’ THEN t_value END) AS 三月,
MAX(CASE t_month WHEN ‘4月’ THEN t_value END) AS 四月
FROM a_testtable WHERE t_month IN(‘1月’,‘2月’,‘3月’,‘4月’)
GROUP BY t_year;

(3)pivot函数
SELECT * FROM a_testtable
PIVOT(SUM(t_value) FOR t_month IN(‘1月’ AS 一月,‘2月’ AS 二月,‘3月’ AS 三月,‘4月’ AS 四月));
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(‘1月’ AS 一月,‘2月’ AS 二月,‘3月’ AS 三月,‘4月’ AS 四月));

2列转行
准备表及数据

(1)decode实现
SELECT t_year,
DECODE(lvl,1,‘1月’,2,‘2月’,3,‘3月’,4,‘4月’) 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实现
SELECT t_year,
CASE lvl WHEN 1 THEN ‘1月’
WHEN 2 THEN ‘2月’
WHEN 3 THEN ‘3月’
WHEN 4 THEN ‘4月’
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 LEVEL lvl FROM dual CONNECT BY LEVEL<=4)
ORDER BY t_year,t_month;

(3)unpivot函数实现
SELECT * FROM b_testtable
UNPIVOT(t_qty FOR t_month IN(one_m AS ‘1月’,two_m AS ‘2月’,tree_m AS ‘3月’,four_m AS ‘4月’))
ORDER BY t_year,t_month;

边栏推荐
猜你喜欢

国内数字藏品交易平台开发市场会开放二级市场吗

记一次Mailpress插件RCE漏洞复现

Koa2框架快速入门与基本使用

Application Practice | Application Practice of Apache Doris in Baidu Intelligent Cloud Billing System

DVWA installation tutorial (understand what you don't understand · in detail)

2022CISCNmisc

npm run serve starts error npm ERR Missing script "serve"

JDBC programming of MySQL database

在弹性布局flex布局中,行内标签也能直接加宽高

jsonpath
随机推荐
用h1~h5标题时候,但是如果不要加粗的效果,处理方法如下
phpok网站漏洞利用分析
npm安装和npm安装——保存
art-template模板引擎过滤器的使用【入门简单使用篇】
【无标题】ES5新特性
TypeError The view function did not return a valid response. The function either returned None 的解决
uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error
npm run serve启动报错npm ERR Missing script “serve“
torch分布式训练
npm基本使用
CTF之misc-流量分析
uni-app: about custom components, easycom specs, uni_modules, etc.
MySQL-Explain详解
CTF之misc-文件隐写
[PASECA2019]honey_shop
强国杯初赛WP
使用Context API维护全局状态
Blind injection, error injection, wide byte injection, stack injection study notes
【小程序项目开发-- 京东商城】uni-app之分类导航区域
简述SSRF