Oracle-行列转化实际的工作应用

embedded/2024/11/27 4:08:39/

create table score_line

(

  sname   varchar2(20)

 ,subject varchar2(20)

 ,score   number(3)

);

create table score_col

(

  sname varchar2(20)

 ,yuwen number

 ,shuxue number

 ,yingyu number

);

-- 列转行

-- 方法1  union all

select s.sname,‘数学’as subject,s.shuxue as score from score_col s

union all

select s.sname,‘英语’ as subject,s.yingyu as score from score_col s;

 --方法2 oracle  自带的 列转行 函数

  select sname,subject,score

  from score_col

  unpivot ( score for subject in(yuwen,shuxue,yingyu) );

-- 示例  

select sname,subject,score

  from score_col

 unpivot ( score for subject in(yuwen as ‘语文’,shuxue as ‘数学’,yingyu as ‘英语’) );

 -- 行转列  

-- 方法1  关联

-- 方法2 decode

select s.sname

      ,sum(decode(s.subject,‘语文’,s.score,0)) as yuwen

      ,sum(decode(s.subject,‘数学’,s.score,0)) as shuxue

      ,sum(decode(s.subject,‘英语’,s.score,0)) as yingyu

  from score_line s

 group by s.sname;

-- 方法3 case when

select s.sname

      ,sum(case when s.subject = ‘语文’ then s.score else 0 end ) as yuwen

      ,sum(case when s.subject = ‘数学’ then s.score else 0 end ) as shuxue

      ,sum(case when s.subject = ‘英语’ then s.score else 0 end ) as yingyu

  from score_line s

 group by s.sname;

 -- 方法4 oracle 自带的 行转列 函数  

select *

  from score_line 

pivot ( sum(score) for subject in(‘语文’ as yuwen,‘数学’ as shuxue,‘英语’ as yingyu) );

 


http://www.ppmy.cn/embedded/140812.html

相关文章

STM32 RAM在Memory Map中被分为3个区域

型号为STM32F407ZET6,Memory Map如下: 可以看到Flash是完整的一块区域,而RAM却被分成了12KB 16KB 64KB 192KB的三块。 通过查阅资料可知这是ST在芯片设计时针对不同类型的变量做出的考虑,其中: 1.CCM SRAM&#x…

开源宝藏:Smart-Admin 重复提交防护的 AOP 切面实现详解

首先,说下重复提交问题,基本上解决方案,核心都是根据URL、参数、token等,有一个唯一值检验是否重复提交。 而下面这个是根据用户id,唯一值进行判定,使用两种缓存方式,redis和caffeine&#xff…

.net 支持跨平台(桌面)系列技术汇总

1. 首先微软老大哥的.net core 。 .NET Core 是微软开发的一个跨平台、高性能的开源框架,用于构建云和互联网连接的新型应用。 它允许开发者在 Windows、macOS 和 Linux 上使用喜爱的开发工具进行开发,并支持部署到云或本地环境。 .NET Core 是对 .NET …

IText创建加盖公章的pdf文件并生成压缩文件

第一、前言 此前已在文章:Java使用IText根据pdf模板创建pdf文件介绍了Itex的基本使用技巧,本篇以一个案例为基础,主要介绍IText根据pdf模板填充生成pdf文件,并生成压缩文件。 第二、案例 以下面pdf模板为例,生成一个p…

《Spring Cloud 微服务》

一、引言 在现代软件开发中,微服务架构已成为主流趋势。Spring Cloud 作为构建微服务架构的强大工具集,提供了一系列组件和解决方案,帮助开发者轻松构建、部署和管理分布式系统。本文将深入介绍 Spring Cloud 的核心概念、主要组件、工作原理…

裸金属服务器能够帮助企业解决哪些问题?

随着网络科技的快速发展,企业业务也在不断的进行扩张和复杂化,传统的服务已经无法满足企业对于高性能和高稳定性的需求,而裸金属服务器则能够帮助企业来解决这一问题,下面我们就来具体看一下吧! 裸金属服务器能够允许应…

php操作redis

php操作redis 一、连接redis //实例化redis$redis new Redis();//连接$redis->connect(127.0.0.1,6379);//检测是否连接成功echo "server is running:".$redis->ping();二、操作字符串 //设置一个字符串的值$redis->set(cat,1111);//获取一个字符串的值…

DRNN 神经网络的Jacobian 信息辨识

DRNN 神经网络的 Jacobian 信息辨识 1. 基本原理 Jacobian 矩阵用于描述多输入多输出系统中输入和输出之间的偏导关系,其形式为: 对于 DRNN(Dynamic Recurrent Neural Network),其动态特性使得 y(t)\mathbf{y}(t)y(t…