聚合函数 listagg (超出长度限制时xmlagg)
表&数据
CREATE TABLE peoplebuy (people Varchar2(10),buy Varchar2(10),price NUMBER);
INSERT INTO peoplebuy VALUES ('我','小猫',10);
INSERT INTO peoplebuy VALUES ('我','小狗',200);
INSERT INTO peoplebuy VALUES ('你','树',20);
原来的结果
SELECT * FROM PEOPLEBUY ORDER BY PEOPLE;

想要的结果
SELECT PEOPLE,
LISTAGG(BUY, ',') WITHIN GROUP(ORDER BY BUY DESC) AS BUY,
SUM(PRICE) TOTAL
FROM PEOPLEBUY
GROUP BY PEOPLE
ORDER BY PEOPLE

用法

LISTAGG(measure_expr [, 'delimiter'])
WITHIN GROUP (order_by_clause) [OVER query_partition_clause]
当连接的字符串过长时会出现以下错误:

解决方案:
XMLAGGhttps://docs.oracle.com/cd/B19306_01/server.102/b14200/functions215.htm
XMLType https://docs.oracle.com/cd/B10501_01/appdev.920/a96616/arxml24.htm
RTRIM(XMLAGG(XMLELEMENT(e, t.signature_id, ',').extract('//text()')).getClobVal(),',') very_long_text
聚合元素,提取文本,获取clob,去空格
| Function | Description |
|---|---|
|
Constructor that constructs an instance of the XMLType datatype. The constructor can take in the XML as a CLOB, VARCHAR2 or take in a object type. |
|
|
Static function for creating and returning an XMLType instance. |
|
|
Takes a XMLType instance and a XPath and returns 1 or 0 indicating if applying the XPath returns a non-empty set of nodes. |
|
|
Takes a XMLType instance and an XPath, applies the XPath expression and returns the results as an XMLType. |
|
|
Checks if the input XMLType instance is a fragment or not. A fragment is a XML instance, which has more than one root element. |
|
|
Returns the value of the XMLtype instance as a CLOB |
|
|
Returns the value of the XMLtype instance as a NUMBER. This is only valid if the input XMLtpye instance contains a simple text node and is convertible to a number. |
|
|
Returns the value of the XMLType instance as a string. |
|
|
Takes an XMLtype instance and an associated stylesheet (which is also an XMLtype instance) , applies the stylesheet and returns the result as XML. |
|
|
Converts the XMLType instance to an object type. |
|
|
Returns 1 or 0 indicating if the input XMLType instance is a schema based one or not. |
|
|
Returns the XML schema URL if the input is a XMLSchema based. |
|
|
Returns the root element of the input instance. Returns NULL if the instance is a fragment |
|
|
Creates a schema based XMLtype instance from the non-schema based instance using the input schema URL. |
|
|
Creates a non schema based XML from the input schema based instance. |
|
|
Returns the namespace for the top level element in a schema based document. |
|
|
Validates the input instance according to the XMLSchema. Raises error if the input instance is non-schema based. |
|
|
Checks if the instance has been validated against the schema. |
|
|
Sets the schema valid flag to avoid costly schema validation. |
|
|
Checks if the input instance is schema valid according to the given schema URL. |
聚合函数 listagg (超出长度限制时xmlagg)的更多相关文章
- oracle 聚合函数 LISTAGG ,将多行结果合并成一行
LISTAGG( to_char(Item_Category_Name), ',') WITHIN GROUP(ORDER BY Item_Category_Name) -- 将 Item_Cate ...
- Idea如何设置代码超出长度限制时自动换行
在[File]-->[Settings]-->[Code Sytle]中勾选[Wrap on typing]选项
- 《BI项目笔记》多维数据集中度量值设计时的聚合函数
Microsoft SQL Server Analysis Services 提供了几种函数,用来针对包含在度量值组中的维度聚合度量值.默认情况下,度量值按每个维度进行求和.但是,通过 Aggrega ...
- 微软BI 之SSAS 系列 - 多维数据集中度量值设计时的聚合函数 (累加性_半累加性和非累加性)
在 SSAS 系列 - 实现第一个 Cube 以及角色扮演维度,度量值格式化和计算成员的创建 中主要是通过已存在的维度和事实数据创建了一个多维数据集,并同时解释了 Role-Playing Dimen ...
- MySQL聚合函数在计算时,不会自动匹配与之相对应的数据
学习mysql过程中遇到了一个困惑,纠结了我半天时间,刚刚又重新复习了一下,终于知道问题所在 以下是一个需求: 取得平均薪水最高的部门的部门编号 代码如下: select deptno, avg(sa ...
- SQL中子查询为聚合函数时的优化
测试数据:create table test1 as select * from dba_objects where rownum<=10000;--10000条记录create table t ...
- Oracle11g聚合函数
聚合函数就是基于多行数据返回一行结果,下面就是Oracle提供的一些列聚合函数: AVG COLLECT CORR CORR_* COUNT COVAR_POP COVAR_SAMP CUME_DIS ...
- SQL Server 聚合函数算法优化技巧
Sql server聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期.Sql server聚合函数对一组值 ...
- Oracle连乘聚合函数 MUL
Oracle提供了求和(SUM),平均值(AVG)等聚合函数,但没有提供连乘的聚合函数. 比如有一个表如下: ID NUM 1 4 2 2 3 2 如果要求NUM列的连乘数,即求: 4*2*2 ,目前 ...
随机推荐
- 唯品会的Service Mesh三年进化史
每种架构风格,都会因各公司面临的情况不同而有不同的实现路线,Service Mesh也不例外,比如江南白衣描述的唯品会的服务化体系开放服务平台OSP(Open Service Platform)走的S ...
- [LeetCode系列] 变序词查找问题(Anagrams)
给定一系列词, 找出其中所有的变序词组合. Note: 变序词 - 组成字符完全相同但次序不同的单词. 如dog和god, ate和eat. 算法描述: 使用map<string, vector ...
- Java 将字符串转换为字符数组 toCharArray()
Java 手册 toCharArray public char[] toCharArray() 将此字符串转换为一个新的字符数组. 返回: 一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初 ...
- ROS注册级别LEVEL0-6,原来使用GRE通道是不要钱滴
GRE通道是没有个数限制的.如果只做一个分公司的PPTP,L2TP,等等,也是不用钱滴. 跑OSPF就不行了,必须要给钱.
- PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩 &&搞个鸡巴毛,写少了个‘/’号,浪费了一天
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有 ...
- 0002_20190328_Centos修改系统时间
一. 设置修改时间: 查看当前时区: [root@localhost bin]# date -R Thu, Mar :: + 2. 查看时间和日期: [root@localhost bin]# d ...
- TNS-12535: TNS:operation timed out、TNS-00505: Operation timed out
在查看alert日志的时候发现: 1 *********************************************************************** 2 3 Fatal ...
- solr之高级查询--联表 join查询
例如有两个业务表:文章表,评论表 . 场景: 一个文章可以由多个人评论. 创建两个core,一个core叫article,一个叫comment.article实例的schema.xml文件中定义几个简 ...
- selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python2&3)
优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题 新增错误和失败截图,展示到html报告里 ...
- OpenMP 《并行程序设计导论》的补充代码
▶ 使用 OpenMP 和队列数据结构,在各线程之间传递信息 ● 代码,使用 critical 子句和 atomic 指令来进行读写保护 // queue.h #ifndef _QUEUE_H_ #d ...