【DB2】LISTAGG函数中元素的去重(DISTINCT)

本文介绍了在DB2中如何使用LISTAGG函数进行元素去重。在DB2 11.1及以后版本,可以直接使用DISTINCT关键字;而在10.5及以前版本,需要结合DECODE和ROW_NUMBER函数实现。文章详细展示了两种情况的实现步骤。
摘要由CSDN通过智能技术生成

Table of Contents

1. 原始数据

2. DB2 10.5及以前版本的实现

3. DB2 11.1及以后版本的表示方法


LISTAGG 函数用于将多个字符串元素,汇集成一个大的字符串,可以将这些字符串元素以某个分隔符隔开。而常常需要考虑在汇集成大的字符串时,去除那些重复的字符串元素。

在DB2 11.1及之后的版本中,LISTAGG函数提供了使用DISTINCT关键值来支持这种情况,参考网页:https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0058709.html

而在DB2 10.5及之前的版本,LISTAGG函数还不能支持DISTINCT的处理,参考网页:https://www.ibm.com/support/knowledgecenter/en/SSEPGG_10.5.0/com.ibm.db2.luw.sql.ref.doc/doc/r0058709.html

这里先给出在DB2 10.5及之前版本的实现方法,然后再用DB2 11.1及之后版本中的DISTINCT形式来实现。

1. 原始数据

首先看示例的原始数据:

S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值