oracle行转列(PIVOT),列转行(UNPIVOT)

2023-11-05

1.行转列(PIVOT)

现有 学生-分数表 STUDENT_SCORE 如下:
在这里插入图片描述
想看到每个学生语数外的整体分数情况,这时候可以应用行转列(PIVOT):

SELECT * FROM STUDENT_SCORE
PIVOT(
	SUM(SCORE) FOR SUBJECT IN ('语文' AS CHINESE, '数学' AS MATH, '英语' AS ENGLISH)
)

查询结果为:

在这里插入图片描述

2.列转行(UNPIVOT)

现有 阶段-类型表 PERIOD_TYPE 如下:

在这里插入图片描述
每行记录能够追溯它已经进行过的PERIOD的ID(自关联),由此,我们现在假设一个需求,
现在去查ID为3的表记录,它所经历过的PERIOD的TYPE:

1>首先,可以查出它已经进行过的PERIOD的ID

SELECT PERIOD, HISTORY_ID FROM PERIOD_TYPE
UNPIVOT(
	HISTORY_ID FOR PERIOD IN (PERIOD_01, PERIOD_02, PERIOD_03)
)
WHERE ID = 3

查询结果为:
在这里插入图片描述
2>根据ID获取它所经历过的PERIOD的TYPE

SELECT TYPE FROM PERIOD_TYPE
WHERE ID IN (
	SELECT HISTORY_ID FROM PERIOD_TYPE
	UNPIVOT(
		HISTORY_ID FOR PERIOD IN (PERIOD_01, PERIOD_02, PERIOD_03)
	)
	WHERE ID = 3
)

得到最终结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle行转列(PIVOT),列转行(UNPIVOT) 的相关文章

  • 本地maven仓库有jar包但是pom却报错

    发生背景 电脑已经存在了一个项目 需要导入另外一个项目 将新项目的maven地址指向之前那个项目的maven仓库 出现mybatis spring boot在pom中报红 去找jar对应的文件夹 发现jar已存在 但是还是报错 解决 根据网
  • 数值分析:矩阵奇异值分解

    1 奇异值分解 SVD 1 奇异值分解 已知矩阵 bm A in R m times n 其奇异值分解为 bm A bm U bm S bm V T 其中 bm U in R m times m bm V in R n times n 是正
  • 第7章 数据库设计和ER模型

    第7章 数据库设计和ER模型 考试范围 7 1 7 7 考试题型 数据库设计题 考试内容 掌握基本ER模型的概念与ER图的设计 掌握将ER模型转换成关系模式的方法 1 掌握基本ER模型的概念与ER图的设计 概念 E R 模型是数据库设计中广
  • Lottie系列一:介绍与使用

    文章目录 一 Lottie 二 Lottie起源 社区 2 1起源 2 2 社区 2 3 Why Lottie 效率 还原度高 体积 研发的优势 2 4 When Lottie 2 5 Lottie不支持的效果 2 6 官方Demo和在线预
  • CPOW挖矿时代即将到来,你准备好了吗

    自2019年中本聪创建比特币以来 区块链已经经历了整整十年的发展历程 大家都知道 获取比特币的方式可以通过挖矿产出 这种通过硬件设备 消耗电能产出的模式被称为POW挖矿模式 这种模式最为简单 也是最常见的一种挖矿模式 绝大多数的数字货币都是
  • 台式计算机连接wifi适配器遇到问题,电脑提示无线适配器或访问点有问题的处理方法...

    我们在使用电脑过程中 多多少少都会遇到一些问题 比如 最近一位用户就反馈自己的电脑提示无线适配器或访问点有问题 导致网络无法正常连接 感觉十分烦恼 那么 该怎么办呢 接下来 就随系统城小编一起看看该问题的解决方法 方法如下 一 可能电脑的无
  • 基于云计算的Linux系统命令汇总

    用户管理 useradd 指定用户家目录 d 创建系统用户 r redhat 指定shell s 不创建家目录 M 权限管理 chmod 给用户添加权限 chmod 755 user chown 设置文件或目录的所有者和所属的组 只有文件主
  • 靶机三:CHRONOS_ 1

    一 靶机地址 https www vulnhub com entry chronos 1 735 二 信息收集 arpscan 发现主机地址 nmap信息收集 发现80 8000 22端口 可以访问到靶机页面 三 渗透阶段 burpsuit
  • 企业注册一个微信小程序都需要准备哪些物料

    企业注册一个微信小程序都需要提前准备哪些物料 准备资料 公司企业邮箱 企业资质信息 包括企业工商营业执照 组织机构代码证 非个体工商户 税务登记证 非个体工商户 法定代表人 负责人身份证明 法定代表人或负责人的有效身份证明 如身份证 护照等
  • ubuntu下ssh2安装

    iceant iceant desktop share ssh localhost ssh connect to host localhost port 22 Network is unreachable iceant iceant des
  • 清除APP 数据的时候出现Crash的情况分析

    在清除Chromium 浏览器数据的时候出现了异常情况 Crash 复制步骤 info gt Storage cache gt CLEAR STORAGE gt CLEAR ALL DATA gt OK Crash 关键log如下 5 25
  • 在家远程工作的体验和总结(为什么我决定更多的在家办公)

    在Parse ly公司 我们骄傲于有一个分布式的开发团队 我们的CTO Andrew 还写了一篇精彩的文章阐述为什么完全的分布式团队是可行的 我们三分之二的团队分步在美国 加拿大 欧洲等地 但我们在纽约也有一个 总部 这是我们的业务团队平时
  • Ubuntu系统建立Andriod编译环境

    本文来源 http source android com source initializing html Initializing a Build Environment The Getting Started section descr
  • vue3+vuex的使用

    vue3 vuex的使用 在src中新建store文件 import createStore from vuex import state from state import actions from actions import muta
  • 无法连接至Synaptics定点装置驱动程序,联想thinkpad最完美解决办法

    话说今天手欠 把红点和触摸板都关上了 闲着没事清理注册表信息 这下好了 我的红点的注册表就被清了 刚百度过遇到各种各样的回答 有新建注册表的 有直接运行SynTPEnh exe程序的 还有建议去重装驱动的 对于ThinkPad来说 别的没用
  • 【ubuntu软件】atom笔记软件----下载、配置、使用

    最近平台切换到了ubuntu环境 很多软件都不能用了 今天看下atom这个笔记软件的下载 配置及其使用 一 为什么选择atom atom是免费的 这个及其重要 其次atom是跨平台的 二 下载 1 官网下载 下载地址 https atom
  • vscode快捷键:折叠、展开代码

    vscode代码编辑器折叠所有区域的代码快捷键 1 折叠所有区域代码的快捷键 ctrl k ctrl 0 先按下ctrl和K 再按下ctrl和0 注意这个是零 不是欧 2 展开所有折叠区域代码的快捷键 ctrl k ctrl J 先按下ct
  • Python 之 lambda 函数完整详解 & 巧妙运用

    文章目录 一 前言 二 lambda 语法 三 lambda 特性 四 lambda 常见用法 五 lambda 用法之高阶函数 一 前言 lambda 函数在 Python 编程语言中使用频率非常高 使用起来非常灵活 巧妙 那么 什么是l

随机推荐

  • php token 存储,PHP 实现Token无状态登录验证,无需服务端存储,降低服务器压力...

    早之前大家常用的登录方式是客户端传输账号密码 后台通过比对后成功了 客户端存储在cookie中 每次刷新页面或请求服务端 服务端都需要从数据库中调取对比信息 对于服务端来说 对比登录状态是服务端请求最频繁的动作 所以如果每次都调用数据库请求
  • java参数传递(局部变量)

    基本数据类型 传递的是值的副本 修改副本不会对原值造成影响 也就是值传递 Byte Short Integer Long Float Double Boolean Character 引用数据类型 除开基本数据类型的所有数据类型 传递的是对
  • centos8 安装notepadqq

    yum install epel release yum install snapd systemctl enable now snapd socket snap install notepad plus plus yum install
  • 【附源码】计算机毕业设计SSM汽车维修服务系统

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • FTP使用教程

    FTP使用教程 目录 一 FTP简介 二 FTP搭建 三 FTP使用 一 FTP简介 FTP中文为文件传输协议 简称为文传协议 它也是一个应用程序 不同的操作系统有不同的FTP应用程序 这些应用程序都遵守同一种协议以传输文件 FTP主要的功
  • KD树

    KD树 1 概述 KD树是一种查询索引结构 广泛应用于数据库索引中 从概念的角度讲 它是一种高纬数据的快速查询结构 本文首先介绍1维数据的索引查询 然后介绍2维KD树的创建和查询 2 1维数据的查询 假设在数据库的表格T中存储了学生的语文成
  • 数据挖掘概述

    1 数据挖掘定义 数据挖掘是从大量的 不完全的 有噪声的 模糊的 随机的应用数据中 提取出潜在且有用的信息的过程 2 数据分析的过程 1 确定知识发现的过程 2 数据采集 数据质量决定挖掘的上限 而算法仅仅是逼近这个上限 3 数据搜索 将数
  • 怎么做好中层管理

    随着工作经验和年限不断增加 经过努力相信很多IT技术人员和我一样从一个开发角色转变为技术管理或者部门管理角色 一方面需要做技术解决方案架构开发上工作 带领团队攻关技术难题 同时也会面临一些团队管理和团队业绩增长需要不断去提高和突破 虽然不必
  • 基于MATLAB的遗传算法优化混合流水车间调度问题

    基于MATLAB的遗传算法优化混合流水车间调度问题 混合流水车间调度问题是在车间生产中常见的一个优化问题 旨在通过合理安排作业顺序和机器分配 最大限度地提高生产效率和降低生产成本 本文将介绍如何使用MATLAB编写遗传算法来解决混合流水车间
  • Ubuntu ssh root 登录不了解决办法

    Ubuntu在安装的时候 设置了sudo的密码 但是这并不是root用户的密码 导致即使修改了 etc ssh sshd config 文件 运行root用户登录 还是会出现Permission denied 真是坑啊 差点没把我气到吐血
  • 发送html邮件时遇到的奇怪的乱码问题

    解析文件字符流 作为内容发送邮件到客户端 解析的代码如下 BufferedReader reader new BufferedReader new FileReader file 发现windows系统下发送的邮件时是正常的 在linux下
  • NETPLIER : 一款基于概率的网络协议逆向工具(一)理论

    本文系原创 转载请说明出处 信安科研人 关注微信公众号 信安科研人 获取更多网络安全学术技术资讯 今日介绍一篇发表在2021 NDSS会议上的一项有关协议逆向的工作 文章目录 1 网络协议逆向工程简介 1 1 协议逆向工程的主流技术 案例
  • 【计算机网络】第一章知识点汇总

    第一章学习重点 2 5 因特网的组成 通信方式与交换方式 4 4 时延 计算 4 5 时延带宽积 计算 5 2 协议的划分与层次 5 3 五层协议的体系结构 OSI与TCP IP的比较 1 计算机网络在信息时代的作用 三网融合中的 三网 指
  • Hadoop-HBase 单机部署

    一 系统版本 Linux系统 wdOS 1 0 x86 64 iso 关于wdOS说明 1 安装简单 快速 去掉了安装过程中不必要的烦锁操作和不必要的选择 2 可选安装集成web环境 如lamp lnmp lnamp 并可相互自由切换使用
  • 设计模式之适配器模式(Adapter)

    1 定义 适配器模式 Adapter 指的是将一个类的接口转换成另一个可以兼容的接口 比如我们日常生活中的转换头 古早时期使用的电池万能充 就相当于程序中使用的适配器模式 2 适配器模式的种类 2 1 类适配器模式 类适配器模式通过多重继承
  • 大数据项目实战——基于某招聘网站进行数据采集及数据分析(三)

    大数据项目实战 第三章 数据采集 文章目录 大数据项目实战 学习目标 一 分析与准备 1 分析网页结构 2 数据采集环境准备 二 采集网页数据 1 创建响应结果 JavaBean 类 2 封装 HTTP 请求的工具类 1 定义三个全局变量
  • 14张自动化测试框架结构图(建议收藏)

    1 接口自动化测试框架设计图 接口自动化测试框架设计图 2 接口自动化执行设计图 接口自动化执行设计图 3 API自动化平台框架设计图 API自动化平台框架设计图 4 UI自动化测试框架设计图 UI自动化测试框架设计图 5 接口 UI自动化
  • 【CUDA基础练习】向量内积计算的若干种方法

    先从一个简单 直观的方法来了解如何用CUDA计算向量内积 向量内积既然是将两个向量对应元素相乘的结果再求和 我们先考虑将对应元素相乘并行化 再来考虑相加 方法一 include
  • 十八、kubernetes中容器重启策略

    1 概述 在上一篇文章中 一旦容器探测出现了问题 kubernetes就会对容器所在的Pod进行重启 其实这是由pod的重启策略决定的 pod的重启策略有 3 种 分别如下 Always 容器失效时 自动重启该容器 这也是默认值 OnFai
  • oracle行转列(PIVOT),列转行(UNPIVOT)

    1 行转列 PIVOT 现有 学生 分数表 STUDENT SCORE 如下 想看到每个学生语数外的整体分数情况 这时候可以应用行转列 PIVOT SELECT FROM STUDENT SCORE PIVOT SUM SCORE FOR