当前位置:首页 > 技术知识 > 正文内容

【Oracle】数据报表字段排重显示_oracle表大小排序

maynowei2周前 (08-19)技术知识7

文中使用的Oracle版本为11g。

一般来说关系型数据库的企业级应用中会存在表关联查询的场景,首当其冲的莫过于主表跟子表进行关联查询。在这种一对多关联查询中难免会出现主表中的某些字段数据重复出现的情况,如下图:

这是一个普通的关联查询,场景用于仓管员核对领用物资使用。从上图可以看出,主子表关联产生像SHEETNAME、SHEETNO这两个字段出现大量重复(这里的SheetName和SheetNo是用来导出Excel时用到的)。就上图这样的输出,若直接导出成Excel在数据量大的情况下很容易造成阅读混乱,所以要将这两个字段的重复内容进行合并。使用下面的SQL可以完成:

with xx as(
-- 正常的查询语句
)
select 
decode(rn, 1, 字段1) as 字段1,字段2
from ( select xx.*,row_number() over(partition by 字段 1 order by 字段2 ) rn from xx);

具体例子如下:

执行效果为:

相同的内容会被剔除,很清晰可以看出以SheetName和SheetNo分组的明细内容有哪些,导Excel只需要对空单元格进行单元格合并,或者直接按SheetName分成多个Sheet来展示也是可以的。

相关文章

[三菱PLC] 用"C语言"玩转PLC,三菱PLC使用ST语言超详细教程

ST语言,全称为结构化文本(Structured Text),是一种高级编程语言,专为工业自动化和控制系统设计。我们学习PLC一般是用梯形图,梯形图学会后,学习SFC,但是我发现梯形图和SFC虽然简单...

ExpandListView 的一种巧妙写法(三十的另一种写法)

ExpandListView大家估计也用的不少了,一般有需要展开的需求的时候,大家不约而同的都想到了它然后以前自己留过记录的一般都会找找以前自己的代码,没有记录习惯的就会百度、谷歌,这里吐槽一下,好几...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

一文弄懂 GO 的 互斥锁 Mutex !(互斥锁的使用方法)

在 Go 语言并发编程中,互斥锁(Mutex)是一个非常重要的同步原语。本文将深入介绍 Mutex 的使用方法、实现原理以及最佳实践。1. 什么是 Mutex?Mutex(互斥锁)是一种用于多线程编程...

CPU「离奇」飙到 100%!开发者挖出 Linux 内核 16 年老 Bug:这么多年竟无人发现?

【CSDN 编者按】每一次对旧设备的升级都仿佛是一场跨越时代的冒险。本文作者致力于将基于 PXA166 的 Chumby 8 设备从 Linux 2.6.28 版本升级到现代 6.x 版本,然而,在看...

C++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...