mysql listagg函数_Oracle函数之LISTAGG「建议收藏」

mysql listagg函数_Oracle函数之LISTAGG「建议收藏」最近在学习的过程中,发现一个挺有意思的Oracle函数,它可实现对列值的拼接。下面我们来看看其具体用法。最近在学习的过程中,发现一个挺有意思的Oracle函数,它可实现对列值的拼接。下面我们来看看其具体用法。用法:对其作用,官方文档的解释如下:Foraspecifiedmeasure,LISTAGGordersdatawithineachgroupspecifiedinth…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近在学习的过程中,发现一个挺有意思的Oracle函数,它可实现对列值的拼接。下面我们来看看其具体用法。

最近在学习的过程中,发现一个挺有意思的Oracle函数,它可实现对列值的拼接。下面我们来看看其具体用法。

用法:

2259414300_1.png

对其作用,官方文档的解释如下:

For a specified measure, LISTAGG orders data within each group specified in the ORDER BY clause and then concatenates the values of the measure column.

即在每个分组内,LISTAGG根据order by子句对列植进行排序,,将排序后的结果拼接起来。

measure_expr:可以是任何基于列的表达式。

delimiter:分隔符,默认为NUL

order_by_clause:order by子句决定了列值被拼接的顺序。

通过该用法,可以看出LISTAGG函数不仅可作为一个普通函数使用,也可作为分析函数。

order_by_clause和query_partition_clause的用法如下:

2259414300_0.png

2259412351_1.png

下面对该函数进行举例说明:

普通函数,对工资进行排序,用逗号进行拼接。

SQL)within group(order by sal)name fromemp;

NAME—————————————————————————————————-

SMITH,JAMES,ADAMS,MARTIN,WARD,MILLER,TURNER,ALLEN,CLARK,BLAKE,JONES,FORD,SCOTT,KING

分组函数:

SQL)within deptno;

DEPTNO NAMEMILLER,CLARK,KING20SMITH,ADAMS,JONES,FORD,SCOTT30 JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE

分析函数:

SQL)within group(order by sal)over(partition by deptno)name fromemp;

DEPTNO ENAME

SAL NAMEMILLER

1300MILLER,CLARK,KING10 CLARK

2450MILLER,CLARK,KING10 KING

5000MILLER,CLARK,KING20 SMITH

800SMITH,ADAMS,JONES,SCOTT,FORD20 ADAMS

1100SMITH,ADAMS,JONES,SCOTT,FORD20 JONES

2975SMITH,ADAMS,JONES,SCOTT,FORD20 SCOTT

3000SMITH,ADAMS,JONES,SCOTT,FORD20 FORD

3000SMITH,ADAMS,JONES,SCOTT,FORD30 JAMES

950JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE30 MARTIN

1250JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE30 WARD

1250JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE30 TURNER

1500JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE30 ALLEN

1600JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE30 BLAKE

2850JAMES,MARTIN,WARD,TURNER,ALLEN,BLAKE14 rows selected.

本文永久更新链接地址:

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196463.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C# List集合转Json字符串示例代码

    C# List集合转Json字符串示例代码将list集合转换为Json字符串简单实现代码:publicstaticstringGetJosn(List<CalendarInfo>list){stringjsonStr=”[“;if(list!=null&&list.Count>0)…

    2022年9月25日
  • linux find命令的使用_linux打包命令tar

    linux find命令的使用_linux打包命令tarLinux中find命令是系统中查找文件的命令,可以帮助用户快速找出自己所需要的文件。通过文件名查找find-name文件名find/etc/-namepasswd###查找/etc目录下的passwd通过文件嵌套层数查找find-maxdepth层数###查找文件时最大层数find-mindepth层数###查找文件时最小层数12例;我们查找/etc中所有.conf文件,可以看…

    2022年10月9日
  • linux drupal 7安装教程,Linux上Drupal7安装教程

    linux drupal 7安装教程,Linux上Drupal7安装教程前言:国内用drupal的并不太多,网上资料也很少。要注意的是drupal尽量别使用apt来安装,特别是UbuntuLinux平台的drupal做出了一定的更改,会妨碍后期的学习和使用。在安装drupal前要先完成LAMP的搭建,如果没有安装可以参照我之前的文章http://www.linuxidc.com/Linux/2016-03/128983.htm或者使用tasksel安装,这里不再…

    2022年5月20日
  • 每个人都应该知道的25个Git命令

    每个人都应该知道的25个Git命令

    2022年2月19日
  • mysql子查询和连接查询(大数据联合计算)

    大圣网络2017-01-3109:19连接查询连接查询:将多张表(>=2)进行记录的连接(按照某个指定的条件进行数据拼接)。连接查询的意义:在用户查看数据的时候,需要显示的数据来自多张表.连接查询:join,使用方式:左表join右表;左表:在join关键字左边的表;右表:在join关键字右边的表连接查询分类:SQL中将连接查询分成

    2022年4月15日
  • string 转 map_一二段转奶的正确方法

    string 转 map_一二段转奶的正确方法String转Map方法很久没写java了,今天有个map传过来格式变成String了需要转map,本来应该可以找个简单的方式解决,但我就不相信找不到了,最后找了半天都没成功的。。。然后自己写了个小方法分享一下仅限以下格式转map{a=aaa,b=bbb,c=ccc,d=ddd,e=eee}publicstaticMap<String,Object>StringToMap(Stringparam){Map<String,Object

    2022年9月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号