oracle listagg如何去重

listagg去重

  1. 去重思路:利用listagg会忽略null值的特点

  2. 按ENTITY_GROUP_RRN 分组,用 listagg 分别合并 EQPT_ID 与 STATION_ID ,同时要求去重
    表 T_TEST 数据如下:

EQPT_IDENTITY_GROUP_RRNSTATION_ID
TOOL-00110493721JITAI-1
TOOL-00310493721JITAI-1
TEST10493721S1
TEST10493721S2
TEST210493721S1
TEST210493721S2
TOOL-00112345JITAI-1
TOOL-00312345JITAI-1
TEST12345S1
TEST12345S2
TEST212345S1
TEST212345S2

3、上SQL:

with T_TEST as(select 'TOOL-001' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TOOL-003' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual union allselect 'TOOL-001' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TOOL-003' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 123456 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual 
)
select t.entity_group_rrn,listagg(decode(rne, 1, t.eqpt_id, null), ',') within group(order by t.eqpt_id) eqpt_ids,listagg(decode(rns, 1, t.station_id, null), ',') within group(order by t.station_id) station_idsfrom (select row_number() over(partition by t.entity_group_rrn,t.eqpt_id order by rownum) rne,row_number() over(partition by t.entity_group_rrn,t.station_id order by rownum) rns,t.*from T_TEST t) tgroup by t.entity_group_rrn;

查询结果
查询结果

  • 总结
    1、通常情况可以先分组去重,再合并即可,除非遇到同一分组中,多列分别有重复值,才需要上面那样处理
    2、还有另一种去重办法,使用 wm_concat + distinct ,如下:
with T_TEST as(select 'TOOL-001' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TOOL-003' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'JITAI-1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S1' STATION_ID from dual union allselect 'TEST2' EQPT_ID, 10493721 ENTITY_GROUP_RRN, 'S2' STATION_ID from dual 
)
select wm_concat(distinct t.EQPT_ID) ids,entity_group_rrn, wm_concat(distinct t.station_id) ids2
from T_TEST t  group by t.entity_group_rrn

查询结果

但是由于官方不推荐使用 wm_concat ,所以尽量不要用此方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21634.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据去重】海量数据实时去重方案

文章目录 Prologue布隆过滤器去重什么是布隆过滤器实现的核心思想怎么理解 内嵌RocksDB状态后端去重引入外部K-V存储去重 Prologue 数据去重(data deduplication)是我们大数据攻城狮司空见惯的问题了。除了统计UV等传统用法之外,去重的意义更…

listagg结果去重

最近在一个项目中用到了listagg方法,但是在组合结果中出现有重复的情况。默认的结果如下 于是我就写了一个方法对listagg的结果去重,也可以对该格式的字符串去重,方法如下 create or replace function listaggpure(targetStr varchar2,seper…

非常实用的5种json数组去重方法,函数实现思路竟是chatgpt帮我写的!

文章目录 人工智能福利文章方法一 reduce实现思路 方法二 filter和Map实现思路 方法三 变异for实现思路 方法四 for filter实现思路 方法五 for实现思路 写在最后 人工智能福利文章 【分享几个国内免费可用的ChatGPT镜像】【10几个类ChatGPT国内AI大模型】【用《文心一言》1分…

AI自动播——AI虚拟主播帮你实现24小时直播带货技术分享

如今很多淘宝天猫商家会在做直播的时候,会遇到真人主播难招或者真人主播直播时长有限,那么有什么办法解决这个难题呢,这个时候就可以用AI自动播了,也就是AI虚拟主播直播带货。具体怎么操作呢?下面一起来看看吧。 AI自动…

亚马逊账号被关联能申诉得回来吗

关于亚马逊账号被关联能申诉回来吗?小编有话要说。 其实小编是一个特别谨慎的人,在初入亚马逊之前,会了解到亚马逊所有的问题之后,才会注册账号。那么要了解的有什么呢?注册需要的信息,注册的规则&#xf…

社区1月热门文章、ChatGPT工具汇总,强化学习安全和隐私、斯坦福大学CS234《智源社区强化学习周刊》第75期...

No.75 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 社区热门文章 Google发布Bard与ChatGPT竞争 https://hub.baai.ac.cn/view/23925 纽约时报:ChatGPT诞生背后的故事 https://hub.baai.ac.cn/view/23835 ChatGPT提示与AI工具、开发工具、低代码工具汇总 《…

5款超实用的免费AI工具,让你轻松提升工作效率!

目录 1、AiChat 产品特点 任意选择内置角色对话 自定义AI角色进行对话 推荐理由🌟🌟🌟🌟🌟 2、MINISTER AI 产品特点 集成ChatGPT聊天 简化Stable Diffusion 集成Midjourney模式 训练并分享模型 推荐理由&a…

13 款炫酷的 MySQL 可视化管理工具!好用到爆!!

MySQL 的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,工具好用是一方面,个人的使用习惯也很重要,这里介绍 13 款 MySQL 图形化管理工具,供大家参考。 1、DBeaver D…

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例应用

查看原文>>>GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例应用 目录 第一章、理论基础 第二章、开发环境搭建 第三章、遥感大数据处理基础与ChatGPT等AI模型交互 第四章、典型案例操作实践 第五章、输入输出及数据资产高效管理 第…

【IC基础】集成电路设计领域术语缩写及名词解释(字母索引版)

前言: 笔者在大三上学习学习《SoC设计导论》时整理的有关集成电路设计领域的常见有英文缩写和对应的名词解释,文中标注的页码均出自《SoC设计方法与实现》这本参考书: 目录 目录 前言: 目录 A B C CTG(Clock Tree Generat…

浏览器扩展合集来啦!实用而有趣的浏览器扩展插件!

五彩:网页划线、批注、高亮工具 五彩严格意义上的同类产品是 Hypothesis、diigo 等工具,Cubox、Readwise、简悦则属于需要先解析一下网页后高亮的插件。 此前我已经在用 Cubox 了,为什么还需要五彩来完成网页高亮? Cubox 在移动…

GPT模型结合Python-GEE遥感云大数据分析、管理与可视化技术

GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例应用 随着航空、航天、近地空间等多个遥感平台的不断发展,近年来遥感技术突飞猛进。由此,遥感数据的空间、时间、光谱分辨率不断提高,数据量也大幅增长&#xff0c…

分享6个AI绘画网站

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 1、Midjourney 特点:业内标杆,效果最强大 Midjourney是基于diffusion的AI图画艺术生成器。生成图片不局…

又又又发现了一个 AI 插件神器 TeamSmart

简介 TeamSmart AI 是最近比较火的 Chrome 插件,它是基于 ChatGPT 集成的 AI 助手团队工具 对,没错,是一个团队。这个团队里面有许多不同角色的成员,每隔成员都有自己的专业领域,比如商业、市场营销、灵魂写手、程序…

忘记了谷歌Gmail账号名怎么办?用这种方法轻松找回谷歌邮箱地址

有些朋友以前注册过谷歌邮箱,但很久很久没有再去使用。 现在注册ChatGPT需要谷歌邮箱,于是打算把尘封已久的谷歌邮箱找出来,可是这时候你才发现,谷歌邮箱的账号名早已忘掉了。 今天重点来说说如何找回谷歌账号,希望能够…

忘记Gmail谷歌账号密码或者密码错误怎么办?用这种方法轻松搞定

有些朋友以前注册过谷歌邮箱,但很久很久没有再去使用。现在注册ChatGPT需要谷歌邮箱,于是打算把尘封已久的谷歌邮箱找出来,可是这时候你突然发现,谷歌邮箱的密码忘了。 今天重点来说说如何找回谷歌账号的密码,希望能够…

HTML知识点大合集

如标题所示哈,最近无聊,花了几十分钟整理一下之前HTML学过的知识点,写下了这个大合集,能力有限可能还有所不足,不过用来巩固基础,学习是够用的。 HTML知识点合集 一.介绍二.开发工具推荐三.代码实战学习3.1…

史上最详细的使用Claude和接入Claude-api教程

是什么(What) Claude 是最近新开放的一款 AI 聊天机器人,是世界上最大的语言模型之一,比之前的一些模型如 GPT-3 要强大得多,因此 Claude 被认为是 ChatGPT 最有力的竞争对手。Claude 的研发公司是专注人工智能安全和研…

BFT 最前线 | ChatGPT登顶App Store;国产中文大语言模型「天河天元」发布;华为招募天才少年;阿里分拆上市

原创 | 文 BFT机器人 AI视界 TECHNOLOGY NEWS 01 ChatGPT上架App Store登顶榜首 OpenAI:很快也将出现在安卓上 近日,ChatGPT正式发布App版本,上架APP Store,支持iPhone和iPad设备。OpenAI表示,ChatGPT iOS APP可免费…

对ChatGPT、阿尔法零等人工智能开发的简评与展望

1.ChatGPT的出现再次说明,基于人工神经网络等技术所进行的模拟的确可以比较好的模拟人脑的思维学习过程和思维结构,虽然其在总体上可以算是一个黑箱或灰箱模型,但是从目前的表现来看,有许多方面都与人脑的表现非常相似&#xff1a…