oracle 重复列只显示一次的实现

2023-11-15

CREATE TABLE test(
ob_id VARCHAR(32),
ob_name VARCHAR(32)
);

INSERT INTO test VALUES('A001','A001-a');
INSERT INTO test VALUES('A001','A001-b');
INSERT INTO test VALUES('A001','A001-c');
INSERT INTO test VALUES('A001','A001-d');
INSERT INTO test VALUES('A002','A002-a');
INSERT INTO test VALUES('A002','A002-b');
INSERT INTO test VALUES('A002','A002-c');
INSERT INTO test VALUES('A002','A002-d');
COMMIT;
查询结果:

OB_ID OB_NAME
A001 A001-a
A001 A001-b
A001 A001-c
A001 A001-d
A002 A002-a
A002 A002-b
A002 A002-c
A002 A002-d

如何实现下面的查询结果:

OB_ID OB_NAME
A001 A001-a
  A001-b
  A001-c
  A001-d
A002 A002-a
  A002-b
  A002-c
  A002-d

方法一:
select decode(rownum,1,ob_id,5,ob_id) ob_id,ob_name from test;

方法二:

select decode(row_number() over(partition by ob_id order by ob_name),1,ob_id) ob_id,ob_name from test t;

方法三:

select decode(lag(ob_id) over(partition by ob_id order by ob_name), ob_id, null, ob_name) ob_id,ob_name from test;

方法四:

SELECT CASE WHEN m.rn=m.rn1 THEN NULL ELSE m.ob_id END ob_id, m.ob_name 
FROM 
(SELECT d.ob_id,d.ob_name,rn,LAG(d.rn) OVER(ORDER BY d.ob_id) rn1 FROM 
(SELECT t.ob_id,t.ob_name,dense_RANK() OVER( ORDER BY t.ob_id) rn FROM  TEST t) d) m;

方法五:

select decode(t1.ob_name, v.name, t1.ob_id, ''), t1.ob_name
  from (select * from test t where rowid in (select min(rowid) from test  group by ob_id,ob_name)) t1
  join (select t.ob_id id, min(t.ob_name) name from test t group by t.ob_id) v on v.id = t1.ob_id
order by t1.ob_id, t1.ob_name;

方法六:
在sqlplus中
break on ob_id skip
select * from test;



来自: http://www.itpub.net/thread-1768915-1-1.html



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29785807/viewspace-1670971/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29785807/viewspace-1670971/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle 重复列只显示一次的实现 的相关文章

  • Oracle19c数据库服务

    本节整理了Oracle在Windows下运行所安装的服务 桌面点击 我的电脑 管理 服务和应用程序 服务 进入下图界面 然后找到以Ora字段开头的服务就是Oracle的服务 如下图 1 OracleJobSchedulerORCL 描述 O
  • centos7下 k8s的安装 2023年8月6日

    一 基本信息介绍 kubernetes 1 27 4 系统 centos7 etcd 3 5 7 containerd 1 6 20 runc 1 1 5 建议内核升级到5 10 本次安装就只有一个master和两个个node节点 192

随机推荐

  • 空间配置器

    空间配置器 一 空间配置器概述 STL的操作对象都放在容器内 而容器需要一定的配置空间来存放数据资料 而空间配置器就负责给容器分配空间 SGI STL分配的空间是内存 其实基本都是内存吧 二 空间配置器的标准接口 1 必要接口 根据容器的需
  • centos解决mysql-bin.000*占用超大空间的问题

    本站 也就是安全者 网站数据库挂了一下午 也没时间处理 晚上回来后尝试restart mysql 发现一直提示shutting down 关闭不了 也stop不了 服务器重启也不行 可以确信肯定是mysql出问题了 进入mysql的data
  • HTTPS的加密过程

    HTTPS HTTPS即加密的HTTP HTTPS并不是一个新协议 而是HTTP SSL TLS 原本HTTP先和TCP 假定传输层是TCP协议 直接通信 而加了SSL后 就变成HTTP先和SSL通信 再由SSL和TCP通信 相当于SSL被
  • 【数据结构与算法——TypeScript】数组、栈、队列、链表

    数据结构与算法 TypeScript 算法 Algorithm 的认识 解决问题的过程中 不仅仅 数据的存储方式会影响效率 算法的优劣也会影响效率 什么是算法 定义 一个有限指令集 每条指令的描述不依赖于言语 编写指令 java c ts
  • (十八)Mybatis的XML文件中不允许出现“>“

    mybatis XML文件中不允许出现 gt lt 之类的符号 需要转义 是可以正常 关于elasticsearch中 gt gte lt lte缩写的含义
  • 反序列化漏洞原理/防御

    序列化就是将对象转换成字节流 可以更方便的将数据保存到本地文件 反序列化就是将字节流还原成对象 Java中提供了两个接口来支持序列化 ObjectIutputStream 和ObjectOutputStream 序列化相对安全 问题出在反序
  • html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)

    粒子炫酷特效网页 html css js 大家都觉得程序员的工作很枯燥乏味 今天我就带大家看看程序员开发的那些漂亮的网页效果 点我下载源码 1 烟花特效 粒子特效 节日祝福 表白爱心网页 动态泡泡网页 动态蝴蝶网页 七叶草动态飘落网页 时间
  • Linux学习-Linux系统及编程基础笔记

    useradd zhangsan passwd zhangsan visudo往 etc sudoers文件中添加zhangsan visudo 找到如下的行 root ALL ALL ALL 往该行下面添加zhangsan zhangsa
  • 深度学习与机器学习的思考

    需要一些传统图像处理知识为佳 end to end 端到端 说的是 输入的是原始数据 始端 然后输出的直接就是最终目标 末端 中间过程不可知 因此也难以知 就此 有人批评深度学习就是一个黑箱 Black Box 系统 其性能很好 却不知道为
  • PostgreSQL 计算逾期率

    描述 计算下ylhx4 cxh xinyanfeature表 小鲨中部分用新颜的数据 中的1999个用户 首次借款第一期 第二期的d0和d15的逾期率 还款信息在transformdata xsfinrak表 小鲨用户 中 psperdno
  • 中点分割裁剪算法

    中点分割裁剪算法 python 实验目的 采用中点分割方法找到距离线段顶点最近的可见点 找到后 进行绘制 即可实现直线段在裁剪窗口的裁剪显示 算法思想 设要裁剪的线段是P1P2 中点分割算法可分成两个平行的过程进行 即从P1点出发找出离P1
  • Git基础操作:本地分支和远程分支改名

    相信聪明的你 直接看代码就能看懂 本地分支改名 git branch m feature add header2 feature add header 删除远程分支 git push origin feature add header2 本
  • FlashAttention

    一 论文题目 发表处 时间 FlashAttention Fast and Memory Efficient Exact Attention with IO Awareness 二 主要方向 新型注意力机制 三 细化任务 一种具有 IO 感
  • 2022深圳杯C题思路解析

    题目描述 继续更新 再更问题三 继续更新第一问 第四问 1 2 问题重述 在制定电动车调度方案时 必须考虑充 换电池的时间成本 从而提出了新 的车辆运输选址及调度问题 1 已知自动驾驶电动物料车在取料点 P 和卸货点 D 之间往复运送物料
  • Qt 对象树

    作者 billy 版权声明 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 Object Tree Model 先来看一下 QObject 的构造函数 通过帮助文档我们可以看到 QObject 的构造函数中会传入一个 P
  • Linux ./configure --prefix 命令是什么意思?

    Linux configure prefix 命令是什么意思 源码的安装一般由3个步骤组成 配置 configure 编译 make 安装 makeinstall Configure是一个可执行脚本 它有很多选项 在待安装的源码路径下使用命
  • D - Meeting Bahosain Gym - 102263D

    Essa wanted to meet the most powerful number theorist of all time Bahosain but Bahosain does not waste his precious time
  • 凸优化学习(四)——凸优化问题

    注意 本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目 https github com Kivy CN Stanford CS 229 CN 中的凸优化部分的内容进行翻译学习 4 凸优化问题 利用凸函数和集合的定义 我们现在可以考
  • CSS——快速入门

    CSS的优势 1 内容和表现分离 2 网页结构表现统一 3 样式十分的丰富 4 建议使用独立于HTML的CSS文件 5 利用SEO 容易被搜索引擎收录 style
  • oracle 重复列只显示一次的实现

    CREATE TABLE test ob id VARCHAR 32 ob name VARCHAR 32 INSERT INTO test VALUES A001 A001 a INSERT INTO test VALUES A001 A