oracle数据库去重查询_oracle查询去重数据

oracle数据库去重查询_oracle查询去重数据oracle数据库中有如下一张表,包含id,loginid,name,researchtime等字段,其中name字段中的数据有重复,查询数据时要重复数据只取一条,利用row_number()over(partitionby列orderby列desc)方法实现1:selecta.,row_number()over(partitionbya.nameorderbyres…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

oracle数据库中有如下一张表,包含id,loginid,name,researchtime等字段,其中name字段中的数据有重复,查询数据时要重复数据只取一条,利用row_number ()over(partition by 列 order by 列 desc)方法实现
在这里插入图片描述1:select a.,row_number() over(partition by a.name order by researchtime desc) sui from HY_RECORDS a
先按照name列进行分组,在根据researchtime列进行降序排列,最后对每一条记录返回一个序列号sui,如下图
在这里插入图片描述把上图查询出来的数据作为一个整体再次进行条件查询操作
select id,name,loginid,researchtime from(select a.
,row_number()over(partition by a.name order by researchtime desc) su from HY_RECORDS a )where sui=1
查询出sui值为1的数据,即把重复的数据只取其中时间最新的一条数据。如下图
在这里插入图片描述在此基础上还可以进行其他条件查询,例如查询loginid=2572的数据,并将数据按时间进行降序排列
select id,name,loginid,researchtime from(
select a.,row_number() over(partition by a.name order by researchtime desc) su from HY_RECORDS a )
where su=1 and loginid =2572 order by researchtime desc
结果如下图
在这里插入图片描述还可以在此基础上在取其中的前六条数据
select * from(select id,name,loginid,researchtime from(
select a.
,row_number() over(partition by a.name order by researchtime desc) su from HY_RECORDS a )
where su=1 and loginid =2572 order by researchtime desc) where rownum < 7
结果如下图
在这里插入图片描述好了,oracle数据库去重查询一些简单的查询语句到此结束,各位有更好的意见可以及时交流

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187145.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【Java面试】第一章:P5级面试

    HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们…

    2022年4月7日
    41
  • 在java中print和println_JAVA命令行参数

    在java中print和println_JAVA命令行参数Java中的PrintWriter类的println()方法用于中断流中的行。此方法不接受任何参数或返回任何值。用法:publicvoidprintln()参数:此方法不接受任何参数。返回:此方法不返回任何值。下面的方法说明了println()方法的用法方式:示例1://Javaprogramtodemonstrate//PrintWriterprintln()methodimp…

    2022年9月1日
    2
  • Date,LocalDate,时间戳获取时间的方式与转换「建议收藏」

    Date,LocalDate,时间戳获取时间的方式与转换「建议收藏」开发过程中总会涉及到时间转换问题,下面描述了几种时间的获取方式以及转换:1.Date日期格式化2.LocalDate获取年月日3.时间戳的获取4.Date转换时间戳5.时间戳转Date1.Date日期格式化“`…

    2022年9月28日
    5
  • gluster源码浅析

    gluster源码浅析gluster的volume是由一系列的translator组成的,translator就像输入输出流的堆栈式结构一样,由一个translator调用另一个translator,每个translator在运行时作为shared-object,根据不同的文件操作调用不同的函数.每个translator一般需要定义xlator_fops、xlator_cbks、init、fini、volume…

    2025年6月8日
    2
  • MediaCodec基本原理及使用「建议收藏」

    MediaCodec基本原理及使用「建议收藏」MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMuxer、AudioTrack结合使用,能够编解码诸如H.264、H.265、AAC、3gp等常见的音视频格式。广义而言,MediaCodec的工作原理就是处理输入数据以产生输出数据。具体来说,MediaCodec在编解码的过程中使用了一组输入/输出缓存区来同步或异步处理数据:首先,客户端向获取到的编解码器输入缓存区写入要编解码的数据并将其提交

    2022年4月19日
    150

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号