码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • oracle行转列、列转行总结


    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;

  • 相关阅读:
    linux入门到精通-第四章-gcc编译器
    USACO Training 1.3 Duel Palindromes
    考研政治---马克思主义基本原理概论---辩证法
    【进阶C语言】编译与链接、预处理符号详解
    如何将vue项目打包在服务器上使用nginx运行,并使用反向代理解决跨域问题
    linux常用命令(4):mkdir命令(创建目录)
    一文带你理解@RefreshScope注解实现动态刷新原理
    阿里云EasyExcel读写excel表数据
    runc hang 导致 Kubernetes 节点 NotReady
    【论文阅读】Dense Passage Retrieval for Open-Domain Question Answering
  • 原文地址:https://blog.csdn.net/m0_67403240/article/details/126038821
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号