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)
上一篇 2022年10月1日 下午12:46
下一篇 2022年10月1日 下午12:46


相关推荐

  • 字符串时间转Date格式

    字符串时间转Date格式字符串时间格式转 Date 格式 paramstrDate return publicstatic StringstrDat 如果参数为空 直接返回 if strDate null return

    2026年3月17日
    2
  • docker端口映射不起作用的解决办法有哪些_docker 端口映射

    docker端口映射不起作用的解决办法有哪些_docker 端口映射今天初学Docker和宿主机的端口映射,根据网上的博客进行了操作。执行命令:dockerrun-d-p50070:50070-p8088:8088–namehadoop1ubuntu:java但是发现命令可以正常执行,但端口映射就是不成功,PORTS一直为空,就像下图这样:然后输入命令dockerportc526发现输出也为空这就奇了怪了…

    2022年10月17日
    11
  • DSL是什么?

    DSL是什么?DSL 是目前世界上发展最快的高速宽带互联网接入技术 其全称是 DigitalSubsc 数字用户环路 它的历史要追溯到 1988 年 贝尔实验室一位工程师设计了一种方法可以让数字信号加载到电话线路未使用频段 这就实现了不影响话音服务的前提下在普通电话线上提供数据通信 但是贝尔的管理层对这个并不热心 因为如果用户安装两条线路会带来更多的利润 这一状况直到 1990 年代晚期有线

    2026年3月18日
    2
  • netstat和netstat -ano

    netstat和netstat -ano(1)在命令行窗口中输入netstat后应该怎能读呢?本机地址为10.1.127.144,本机的52051端口正在和IP地址为183.192.164.67的8864端口进行通信,而且通信使用的是TCP协议(本机使用52021端口,对方使用8864端口)(2)在命令行中输入netstat-ano可以看出多了PID这一列(表示是PID为这个数的程序正在占用某个端口和外部某台机器的某个端口进行通信)所以netstat-ano比netstat能显示更多的信息,是升级版本,plus版本

    2022年10月21日
    5
  • 智谱AutoGLM深度解析:通用智能体如何重塑每个人的手机(万字纯享版)

    智谱AutoGLM深度解析:通用智能体如何重塑每个人的手机(万字纯享版)

    2026年3月12日
    2
  • 蓝桥杯单片机必备知识—–(6)矩阵按键

    蓝桥杯单片机必备知识—–(6)矩阵按键

    2021年4月12日
    326

发表回复

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

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