简单的Oracle列转行函数Listagg示例:

CREATE TABLE tbl_test

(catalog VARCHAR(1),product VARCHAR(2),amount NUMBER);

INSERT INTO tbl_test VALUES('A','A1',1);

INSERT INTO tbl_test VALUES('A','A1',2);

INSERT INTO tbl_test VALUES('B','B1',3);

INSERT INTO tbl_test VALUES('B','B2',4);

INSERT INTO tbl_test VALUES('B','B2',5);

INSERT INTO tbl_test VALUES('C','C1',6);

INSERT INTO tbl_test VALUES('C','C1',7);

INSERT INTO tbl_test VALUES('C','C2',8);

INSERT INTO tbl_test VALUES('C','C2',9);

COMMIT;

SELECT * FROM tbl_test;

CATALOG PRODUCT AMOUNT

------- ------- ----------

A A1 1

A A1 2

B B1 3

B B2 4

B B2 5

C C1 6

C C1 7

C C2 8

C C2 9

9 rows selected

SELECT

LISTAGG(product,',') WITHIN GROUP( ORDER BY amount) AS lst

FROM tbl_test;

LST

----------------------------

A1,A1,B1,B2,B2,C1,C1,C2,C2

SELECT

catalog, LISTAGG(product,',') WITHIN GROUP( ORDER BY amount) as lst

FROM tbl_test

GROUP BY catalog;

CATALOG LST

------- -----------------

A A1,A1

B B1,B2,B2

C C1,C1,C2,C2

SELECT

LISTAGG(product||'-'||amount,',') WITHIN GROUP( ORDER BY amount) over (partition by catalog)

AS lst

FROM tbl_test

;

LST

----------------------

A1-1,A1-2

A1-1,A1-2

B1-3,B2-4,B2-5

B1-3,B2-4,B2-5

B1-3,B2-4,B2-5

C1-6,C1-7,C2-8,C2-9

C1-6,C1-7,C2-8,C2-9

C1-6,C1-7,C2-8,C2-9

C1-6,C1-7,C2-8,C2-9

9 rows selected

SELECT * FROM tbl_test

pivot (

sum(amount)

FOR(catalog)

IN('A','B','C')

)

ORDER BY 1;

PRODUCT 'A' 'B' 'C'

------- ---------- ---------- ----------

A1 3

B1 3

B2 9

C1 13

C2 17

SELECT product,EXTRACT(catalog_xml,'//column[@name="SUM(AMOUNT)"]/text()') AS sum

FROM tbl_test

pivot xml(

sum(amount)

FOR(catalog)

IN(ANY)

)

ORDER BY 1;

PRODUCT SUM

------- -------

A1 3

B1 3

B2 9

C1 13

C2 17

Oracle列转行函数LISTAGG()

--Oracle列转行函数LISTAGG() with tb_temp as( select 'China' 国家,'Wuhan' 城市 from dual union all select 'Chi ...

Oracle 列转行函数 Listagg()

这是最基础的用法: LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX) 例: select listagg(oeid,',') within GROUP (ord ...

Oracle列转行函数版本不兼容解决方案

业务场景 本博客记录一下Oracle列转行函数在Oracle11的一些不兼容问题,vm_concat在一些业务场景是必须的.不过这个函数使用要谨慎,底层实现应该也是group by等等实现的,性能并不 ...

Oracle列转行函数使用

一.业务场景 今天需要实现一个table,有一列的效果是:用户姓名A(账号a),用户姓名B(账号b)...这种格式.这就想到oracle的列转行函数vm_concat. 可以用类似这种格式wm_con ...

Oracle列转行 参数动态传入iBatis使用示例

Oracle行转列 参数动态传入iBatis使用示例 最近做了一个需求,需要获取工作流数据的各个节点的渠道数量信息,各渠道的费用信息~ 之前的需求是只需要获取渠道数据,所以做了渠道兼容,每个渠道数量的 ...

oracle 的列转行函数 listagg()

当你的表X中有A,B两列,数据如下 A B a 1 a 2 a 3 b 1 b 2 b 3 想让数据以 a|1|2|3 , b|1|2|3 格式显示可使用listagg() 1.使用listagg() ...

oracle列转行 WM_CONCAT LISTAGG

开发给个SQL说给某个条件时报ORA-22922 代码段: SELECT 袋号, SUM(实际重量) AS 实际重量, SUM(材积重量) AS 材积重量, COUNT(运单号) AS 件数, TO_ ...

oracle中行转列、列转行函数

多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str ...

oracle列转行

unpivot()函数需要Oracle版本大于等于11g --创建表 create table Fruit(id int,name varchar(20), Q1 int, Q2 int, Q3 in ...

随机推荐

BZOJ 1029 & 丝帛贪心

题意: 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的入侵者.但是T部落的基地里已经有N个建筑设 施受到了严重的损伤,如果不尽快修复的话,这些建 ...

Redux你的Angular 2应用--ngRx使用体验

Angular2和Rx的相关知识可以看我的Angular 2.0 从0到1系列第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2 ...

JVM学习之强引用、弱引用、软引用、虚引用

转自:http://my.oschina.net/ydsakyclguozi/blog/404389 多谢博主分享 1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象 ...

Python入门教程(2)

人生苦短,我玩蛇0.0! Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991 ...

【Zookeeper】源码分析之服务器(四)

一.前言 前面分析了LeaderZooKeeperServer,接着分析FollowerZooKeeperServer. 二.FollowerZooKeeperServer源码分析 2.1 类的继承关 ...

python数据类型之元组、字典、集合

python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...

windows下vagrant的安装使用

vagrant是简便虚拟机操作的一个软件,而使用虚拟机有几个好处: 1.为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时 ...

SQL Server中查找包含某个文本的存储过程

SELECT name,text from sysobjects o,syscomments s where o.id=s.id and text LIKE '%text%' and o.xtype= ...

hive桶表好处

对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分.Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记 ...

python 回溯法 子集树模板 系列 —— 3、0-1背包问题

问题 给定N个物品和一个背包.物品i的重量是Wi,其价值位Vi ,背包的容量为C.问应该如何选择装入背包的物品,使得放入背包的物品的总价值为最大? 分析 显然,放入背包的物品,是N个物品的所有子集的其 ...

oracle列转行查询,Oracle列转行函数Listagg以及pivot查询示例相关推荐

  1. Oracle 语言分类 数据类型 数据类型转换 常用函数 集合操作 子查询

    SQL分类 SQL(Structure Query Language)语言是数据库的核心语言.SQL语言共分为四大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL.1 ...

  2. mysql 日期查询下周,MySQL时间函数的使用:查询本周、下周、本月、下个月份的数据【转】...

    MySQL时间函数的使用:查询本周.上周.本月.上个月份的数据[转] /*今天*/ select * from 表名 where to_days(时间字段) = to_days(now()); /*昨 ...

  3. MySQL数据库的查询:常用查询语句、MySQL函数、多表查询、视图表

    文章目录 一.构造数据 二.常用的查询语句 1.SELECT:字段表达式 2.FROM 子句 3.WHERE 子句:按指定条件过滤 4.GROUP BY:分组查询 5.HAVING 6.ORDER B ...

  4. Oracle 列转行函数 Listagg()

    本文来源于:dacoolbaby 的   <Oracle 列转行函数 Listagg()> 这是一个Oracle的列转行函数:LISTAGG() 1 with temp as( 2 sel ...

  5. oracle列转行用法,oracle 行转列 列转行

    1.概述 最近论坛很多人提的问题都与行列转换有关系,所以我对行列转换的相关知识做了一个总结,希望对大家有所帮助,同时有何错疏,恳请大家指出,我也是在写作过程中学习,算是一起和大家学习吧! 行列转换包括 ...

  6. oracle列转行求和,Oracle行转列和列转行

    一.行转列 1.1.初始测试数据 表结构:TEST_TB_GRADE Sql代码: 1    create table TEST_TB_GRADE 2    ( 3      ID        NU ...

  7. oracle 行转列的sql,Oracle行转列、列转行的Sql语句总结

    目录结构如下: 行转列 列转行 [一].行转列 1.1.初始测试数据 表结构:TEST_TB_GRADE sql代码 create table TEST_TB_GRADE ( ID NUMBER(10 ...

  8. oracle如何查询虚拟列,Oracle11g新特性之--虚拟列(VirtualColumn)

    Oracle 11g新特性之--虚拟列(Virtual Column) Oracle 11G虚拟列Virtual Column介绍 在老的 Oracle 版本,当我们需要使用表达式或者一些计算公式时, ...

  9. oracle分组后伪列,Oracle伪列和伪表和分组函数(row_number,Rank)

    oracle的伪列以及伪表 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Ora ...

最新文章

  1. 2018-2019-1 20165201 《信息安全系统设计基础》第6周学习总结
  2. oracle 创建自增列及其oracle表的字段的子节点的查询
  3. 重温6 ListView相关|单位dp/sp
  4. 优秀技术人的管理陷阱
  5. 撞球编程c语言,急!C语言编程题——撞球
  6. maven中文乱码问题——编译错误
  7. Canny边缘检测 原理python代码
  8. 【转】C#实现SqlServer数据库的备份和还原
  9. AETA地震预测 AI 算法大赛——Helloworld队比赛方案(亚军)
  10. 手机NFC是什么?怎么使用?
  11. redhat升级linux内核,redhat内核升级方法
  12. 怎么网络同步计算机的本地时间,VBA实现本地计算机时间与网服务器时间的同步...
  13. BI神器Power Query(9)-- PQ从XML文件导入数据
  14. python内推群_重要!!!陌陌2020校招Python内推通道(含内推直链)
  15. ECC的“点加”和“点乘”
  16. 2023年软考高级系统分析师考试时间及安排
  17. 【来日复制粘贴】使某列筛选的结果映射到标题部分
  18. GIS空间分析 栅格数据分析1 欧氏距离分析
  19. 360、搜狗搜索内容200重定向真实链接获取
  20. 数据分析入门活动赛事,利用Pandas分析美国选民总统喜爱

热门文章

  1. invalid comparator问题
  2. 手机号码,移动端显示问题
  3. Linux常用命令 实用命令万字总结
  4. python愤怒的小鸟简单模拟程序_Python物理引擎
  5. /etc/fstab变成只读的处理方法
  6. android 一键重启,Android实现app一键重启
  7. Redis哨兵模式搭建
  8. 浅谈将子类对象赋值给父类对象
  9. Joomla模板制作教程:使用CSS布局
  10. html5水滴动画,HTML5 TweenMax.js 水珠滴落动画