Oracle去重4种实现方式小结

 更新时间:2023年09月10日 09:07:19   作者:風F  
这篇文章主要给大家介绍了关于Oracle去重4种实现方式的相关资料,在Oracle数据库中有时候我们需要查询多个列并去除重复值,文中通过代码介绍的非常详细,需要的朋友可以参考下

去重

1.distinct去重

select distinct name,age from test

2.group by 去重

select name,age from test group by name,age;

3.rowid(伪列去重)如果 step_id 也要要求去重就把条件加上去,如果不需要去重则不加

select sfc_no,step_id from AAA_HC t1
where t1.rowid in (select min(rowid) from AAA_HC t2 where t1.sfc_no=t2.sfc_no
--and t1.step_id=t2.step_id
);

4.窗口函数row_number () over() 去重  如果 step_id 也要要求去重就把条件加上去,如果不需要去重则不加

select t.sfc_no ,t.step_id from
(select row_number() over(partition by sfc_no
--,step_id
order by step_id) rank,AAA_HC.* from AAA_HC)t
where t.rank = 1;

row_number()  over(partition by SFC_NO order by CREATE_DATE desc) rn

为新增一个名为rn的排名的列,partition by 列名(需要分组的列) order by 列名(需要排名的列)
结果

SFC_NO    CREATE_DATE   rn
aaa          2022-09-22        1
aaa          2022-09-21        2
aaa          2022-09-20        3
bbb          2022-09-22        1
bbb          2022-09-21        2
bbb          2022-09-20        3

总结

到此这篇关于Oracle去重4种实现方式的文章就介绍到这了,更多相关Oracle去重方式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • oracle 数据库启动阶段分析

    oracle 数据库启动阶段分析

    这篇文章主要介绍了oracle 数据库启动阶段分析,包括三个阶段的详细介绍,需要的朋友可以了解下。
    2017-09-09
  • Oracle不完全恢复的实战指南

    Oracle不完全恢复的实战指南

    当误删表、日志损坏或控制文件丢失时,Oracle的不完全恢复是DBA最后的救命稻草,掌握关键恢复技术,可在数据灾难中力挽狂澜,所以本文给大家介绍了Oracle不完全恢复的实战指南,需要的朋友可以参考下
    2025-07-07
  • delete archivelog all无法清除归档日志解决方法

    delete archivelog all无法清除归档日志解决方法

    最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,究竟是什么原因呢?本文将为您解答,需要的朋友可以参考下
    2012-12-12
  • Oracle使用like查询时对下划线的处理方法

    Oracle使用like查询时对下划线的处理方法

    这篇文章主要介绍了Oracle使用like查询时对下划线的处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • oracle 数据库闪回相关语句介绍

    oracle 数据库闪回相关语句介绍

    本文将详细介绍oracle 数据库闪回相关语句,需要了解跟多的朋友可以参考下
    2012-11-11
  • 详解Oracle中sqlldr的具体用法

    详解Oracle中sqlldr的具体用法

    这篇文章主要介绍了详解Oracle中sqlldr的用法,SQLLDR可以在极短的时间内加载数量庞大的数据,这是一个非常有用的工具,可用于从多种平面文件格式向Oracle数据库中加载数据,需要的朋友可以参考下
    2023-07-07
  • Oracle用户密码过期如何修改永不过期

    Oracle用户密码过期如何修改永不过期

    针对不同的业务场景会有不一样的业务需求,oracle的用户密码,生产环境肯定需要定期进行更换,保证安全性,但是也同样会有需求要求oracle用户的密码永远不过期,这篇文章主要给大家介绍了关于Oracle用户密码过期如何修改永不过期的相关资料,需要的朋友可以参考下
    2024-03-03
  • Oracle找出一个表的间接授权信息的方法

    Oracle找出一个表的间接授权信息的方法

    在Oracle中,查询表授权需结合直接权限和通过视图间接传递的权限,直接权限可通过ALL_TAB_PRIVS获取,而间接授权需递归检查视图的授权链,本文给大家介绍Oracle找出一个表的间接授权信息的方法,感兴趣的朋友一起看看吧
    2025-06-06
  • 基于OGG实现Oracle实时同步MySQL的全过程

    基于OGG实现Oracle实时同步MySQL的全过程

    这篇文章详细阐述了基于OGG实现Oracle实时同步MySQL全过程,文中通过图文结合和代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • 在oracle数据库里创建自增ID字段的步骤

    在oracle数据库里创建自增ID字段的步骤

    本节主要介绍了在oracle数据库里创建自增ID字段的步骤,需要的朋友可以参考下
    2014-07-07

最新评论