Oracle之如何组合去重

简介: Oracle之如何组合去重

今日份知识学习

今天接着昨天的文章来说,跟昨天我们要说的需求不太一样,今天主要来说如何组合去重,一起来讨论一下解决方案,学习一下吧。

具体讲解

我们经常会遇到针对一些组合数据进行去重的开发需求,比如这样的数据,user_table表中的有重复name,我们要将这些数据进行合并,并且进行去重操作。

首先,我们没有必要再拆分了,在之前文章中我们已经讲过如何拆分字符串数据了,本次就不再赘述了。

直接就按照顺序合并name字段吧。

看一下下面的SQL示例:

select listagg(name) with group(order by age) from user_table connect by level <= (select count(*) from user_table)

如此我们就得到了一个合并后的字符串。

去重

去重的操作有很多,今天就说一个笨方法,那就是先去重再进行组合操作。

select distinct name from user_table

完善之前已经写过的SQL:

select listagg(name) with group(order by name) from user_table connect by level <= (select count(*) from (select distinct name from user_table))

如此,得到的结果集也就不存在重复结果了。

其实还有另外一种方式,那就是wm_concat和distinct组合后的结果。

wm_concat 加 distinct

通过wm_concat函数加上distinct关键字进行聚合去重。

select wm_concat(distinct name) from user_table group by name

通过这个SQL,我们就可以得到一个去重的组合字符串了。

之前文章中就说过,wm_concat因为oracle版本的不同,返回的数据类型会不同,所以大家在用的时候要多试试。

总结

今天我们学习了如何对拆分的字符进行组合去重,在书写复杂SQL时常遇到的问题,在这篇文章中你学会了吗?

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。

目录
相关文章
|
分布式计算 安全 大数据
maxcomputer的介绍
maxcomputer的介绍
2239 3
|
9月前
|
SQL Oracle 关系型数据库
迁移MySQL数据到Oracle实践记录
本文介绍SQL Developer迁移第三方数据库至Oracle的三种方式:①全库迁移(步骤繁杂、易报ORA-00942等错);②右键“Copy To Oracle”单表迁移(支持结构+数据,百兆级高效);③结合DBeaver导CSV+SQL Dev建表导入(500MB内可行)。推荐中小规模表级迁移。
584 0
|
27天前
|
XML 监控 API
遇到API调用问题?常见错误代码与排查手册
本文整理了API常见错误代码(4xx/5xx及自定义码)的系统化排查指南,涵盖错误归因、逐项检查步骤与实战工具,助开发者快速定位问题根源,提升调试效率。(239字)
|
SQL Oracle 关系型数据库
MySQL的sql_mode模式说明及设置
MySQL的sql_mode模式说明及设置
1676 112
|
NoSQL 测试技术 Go
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
|
XML 安全 测试技术
【干货满满】分享什么是API接口测试
API接口测试是验证应用程序编程接口功能、性能、安全性及兼容性的关键环节,通过模拟请求并验证响应结果,确保接口能正确处理各种输入和场景。测试内容涵盖功能验证、性能评估、安全防护、兼容性验证及系统可靠性。相比UI测试,API测试无需界面依赖,支持数据驱动与自动化,适用于持续集成流程。常见接口类型包括RESTful、SOAP和GraphQL API,广泛应用于电商、金融及社交平台,保障系统间数据交互的安全与高效。
|
12月前
|
SQL Oracle 关系型数据库
Oracle 数据库数据操作:精通 INSERT, UPDATE, DELETE
在Oracle里,增加数据用INSERT,修改用UPDATE,删除则用DELETE。进行修改和删除时,建议总是带上WHERE条件来指定范围,这样可以确保操作的准确性
1715 4
|
人工智能 自然语言处理
通义灵码在Visual Studio2022中的实践
本文介绍了如何在Visual Studio 2022中安装和使用通义灵码。首先,在Visual Studio 2022中安装通义灵码插件,然后按照步骤完成安装和登录。最后,通过实操演示了通义灵码的三大功能:行级/函数级实时续写、自然语言生成代码和研发领域自由问答。希望读者能从中受益。
7924 4
|
XML 缓存 Java
一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】
文章提供了一份详尽的Mybatis使用教程,涵盖了Mybatis的简介、环境搭建、基本操作、配置解析、日志使用、分页、注解开发、多对一和一对多关系处理、动态SQL以及缓存机制等方面的内容,并提供了相应的代码示例和测试用例。
一文讲明Mybatis 的使用 超详细 【爆肝两万字教程】
|
SQL 安全 数据库
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
3244 1