listagg oracle10_HLOOKUP函数

listagg oracle10_HLOOKUP函数LISTAGG函数介绍listagg函数是Oracle11.2推出的新特性。其主要功能类似于wmsys.wm_concat函数,即将数据分组后,把指定列的数据再通过指定符号合并。LISTAGG使用listagg函数有两个参数: 1、要合并的列名 2、自定义连接符号☆LISTAGG函数既是分析函数,也是聚合函数所以,它有两种用法: 1、分析函数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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

LISTAGG 函数介绍

listagg 函数是 Oracle 11.2 推出的新特性。
其主要功能类似于 wmsys.wm_concat 函数, 即将数据分组后, 把指定列的数据再通过指定符号合并。

LISTAGG 使用

listagg 函数有两个参数:
		1、 要合并的列名
		2、 自定义连接符号

☆LISTAGG 函数既是分析函数,也是聚合函数
所以,它有两种用法:
		1、分析函数,如: row_number()、rank()、dense_rank() 等,用法相似
		listagg(合并字段, 连接符) within group(order by 合并的字段的排序) over(partition by 分组字段)
		2、聚合函数,如:sum()、count()、avg()等,用法相似
		listagg(合并字段, 连接符) within group(order by 合并字段排序)		--后面跟 group by 语句

(补充)分析函数和聚合函数

一部分聚合函数其实也可以写成分析函数的形式。

分析函数和聚合函数本质上都是对数据进行分组,二者最大的不同便是:
	对数据进行分组分组之后,
	聚合函数只会每组返回一条数据,
	而分析函数会针对每条记录都返回,
		一部分分析函数还会对同一组中的数据进行一些处理(比如:rank() 函数对每组中的数据进行编号);
		还有一部分分析函数不会对同一组中的数据进行处理(比如:sum()、listagg()),这种情况下,分析函数返回的数据会有重复的,distinct 处理之后的结果与对应的聚合函数返回的结果一致。

LISTAGG 实例

先构造几笔临时数据
with test as(
SELECT 'SNO-0010210' S_NO,'1002' ITEM_NO,'BruceLiu' CUS_NAME,'15632148754' TEL,'深圳' ADDRESS FROM DUAL
UNION
SELECT 'SNO-0010210' S_NO,'1003' ITEM_NO, 'CandySun' CUS_NAME,'19745233214' TEL, '南京' ADDRESS FROM DUAL
UNION
SELECT 'SNO-0010211' S_NO, '1003' ITEM_NO,'QianSan' CUS_NAME,'19745233214' TEL,'南京' ADDRESS FROM DUAL
UNION 
SELECT 'SNO-0010212' S_NO,'1005' ITEM_NO,'HuiClear' CUS_NAME,'19745233214' TEL,'白银' ADDRESS FROM DUAL
UNION
SELECT 'SNO-0010212' S_NO,'1007' ITEM_NO,'CatBool' CUS_NAME,'19745233214' TEL,'重庆' ADDRESS FROM DUAL
UNION
SELECT 'SNO-0010212' S_NO,'1004' ITEM_NO,'Liability' CUS_NAME,'18812436214' TEL,'成都' ADDRESS FROM DUAL
)

test

LISTAGG 分析函数用法
SELECT T.S_NO,
       LISTAGG(T.ITEM_NO, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) ITEM_NO,
       LISTAGG(T.CUS_NAME, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) CUS_NAME,
       LISTAGG(T.TEL, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) TEL,
       LISTAGG(T.ADDRESS, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) ADDRESS
  FROM test T
 GROUP BY T.S_NO;

res1

LISTAGG 聚合函数用法
SELECT T.S_NO,
       LISTAGG(T.ITEM_NO, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) OVER(PARTITION BY T.S_NO) ITEM_NO,
       LISTAGG(T.CUS_NAME, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) OVER(PARTITION BY T.S_NO) CUS_NAME,
       LISTAGG(T.TEL, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) OVER(PARTITION BY T.S_NO) TEL,
       LISTAGG(T.ADDRESS, '/') WITHIN GROUP(ORDER BY T.S_NO, T.ITEM_NO) OVER(PARTITION BY T.S_NO) ADDRESS
  FROM test T;

res2

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

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

(0)
上一篇 2025年9月27日 下午2:43
下一篇 2025年9月27日 下午3:15


相关推荐

  • 微信公众平台开发之用户绑定

    微信公众平台开发之用户绑定作为一个刚毕业的大学生 一进公司就被安排到新的项目组进行微信公众平台开发 作为一个菜鸟 顿时觉得压力山大 最重要的是 公司里还没有人做个这方面 一直都只能靠自己摸索 这篇文章只能说是我个人在做微信开发过程中的一些记录 在微信公众平台里 每个用户对每个公众号的 OpenID 是唯一的 对于不同公众号 同一用户的 openID 不同 所以用户绑定 可以用 OpenID 绑定 也可以用 OpenID 来获取用户

    2026年3月18日
    2
  • Android SDK Tools_android.intent.category.DEFAULT

    Android SDK Tools_android.intent.category.DEFAULTIamusingUbuntu11.10(x64),UsingandroidNDKIamtryingtobuildthestandalonetoolchainusingthefollowingcommandline:/%Somepath%/android-ndk-r7b/build/tools/make-standalone-toolchain.sh’…

    2025年6月14日
    7
  • 渗透测试文章_黑客秘笈-渗透测试实用指南

    渗透测试文章_黑客秘笈-渗透测试实用指南【拿shell】1.直接上传aspasajspcerphpaspxhtrcdx格式的木马,不行就利用IIS6.0解析漏洞”:1.asp;1.jpg/1.asp;.jpg/1.asp;jpg/1.asp;.xls2.上传图片木马遇到拦截系统,连图片木马都上传不了,记事本打开图片木马在代码最前面加上gif89a,一般就能逃过拦截系统了。3.上传图片木马把地址复制到…

    2026年2月9日
    6
  • python codecs_Python codecs.register方法代码示例

    python codecs_Python codecs.register方法代码示例本文整理汇总了 Python 中 codecs register 方法的典型用法代码示例 如果您正苦于以下问题 Pythoncodecs register 方法的具体用法 Pythoncodecs register 怎么用 Pythoncodecs register 使用的例子 那么恭喜您 这里精选的方法代码示例或许可以为您提供帮助 您也可以进一步了解该方法所在模块 codecs 的用法示例 在下文中一共展

    2026年3月19日
    2
  • pycharm学生账户申请延长

    pycharm学生账户申请延长1 注意 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 学生党金钱紧张 谢谢可以免费使用账户 之前已经使用了一年 今天早上起来突然发现账户到期 耽误学习那可不行的 PS 只有到期或者到期的前一周才可以续期 其他时候是没有更新学生包这个按钮的 2 JetBrains 官网 nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    2026年3月18日
    2
  • 蓝牙调试器-划时代无线调试器

    蓝牙调试器-划时代无线调试器蓝牙调试器这篇文章的受众是本专科院校有理想的青年或已经踏入社会的电子工程师们 本文章旨在介绍一款在 Android 设备上通过使用蓝牙功能实现无线调试的应用 一 蓝牙调试器介绍此蓝牙调试器历时一个多月开发完成 其基于安卓设备 通过安卓设备的蓝牙通信功能实现单片机的无线调试 编写这款软件的目的主要是为了盈利 嗯 当然是为了广大的单片机开发爱好者 拯救他们于繁琐的调试步骤

    2026年3月20日
    2

发表回复

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

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