集合、行列转换、层级查询、伪劣

2024-04-28 10:59

本文主要是介绍集合、行列转换、层级查询、伪劣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、集合

1、交集  INTERSECT       两给集合共有的 

2、并集 UNION / UNION ALL    两个集合的相加

3、差集   A MINUS  B      集合A和集合B相比,A中独有的数据

二、行列转换

(一)、原理

1、行转列 CASE WHEN/DECODE + 聚合函数 + 分组

2、列转行 UNION ALL

(二)、函数

1、行转列  PIVOT(聚合函数(被聚合的列)FOR 行转列的列 IN(列中值...))

2、列转行  UNPIVOT [INCLUDE NULLS](被聚合的列的新列名  FOR  列转行的新列名    IN(字段名...))

INCLUDE NULLS 指定空值也进行转置,如果是EXCLUDE NULLS 将忽略空值。 

例子:

 对DEMO表中的 NAME列和ID列分别进行行转列得到如下格式

--把demo中的name列行转列 
SELECT ID, SUM(DECODE(NAME,'苹果',NUMS,0)) 苹果,SUM(DECODE(NAME,'橘子',NUMS,0)) 橘子,SUM(DECODE(NAME,'葡萄',NUMS,0)) 葡萄,SUM(DECODE(NAME,'芒果',NUMS,0)) 芒果
FROM DEMO
GROUP BY ID
ORDER BY ID;
--把demo中的id列行专列 
SELECT NAME, SUM(DECODE(ID,1,NUMS,0)) 一季度,SUM(DECODE(ID,2,NUMS,0)) 二季度,SUM(DECODE(ID,3,NUMS,0)) 三季度,

这篇关于集合、行列转换、层级查询、伪劣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943083

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问