-------------------- 
原作者:搬长城的红砖 
原文:https://blog.csdn.net/yin_jia_521/article/details/72626182

oracle 数据库多字段去重

方法介绍:distinct 关键字、group by  、row_number ()over(partition by 列 order by 列 desc)

我的需求是:根据某几列去重 查询出去重后的全部信息。最后我选择的是第三种方法。

我的想法:我想找出一种更简单的方法去 实现去重查询。越直接越好。

表结构&&内容

1、distinct 关键字的用法:distinct 关键字后面的字段组合去重 distinct 必须

select distinct id from test

结果 ;根据id 去重

select distinct id,name from test

结果:根据id和name 组合去重(类似于  id || name  这样去重)

2、group by 分组去重

select id,name from test group by id,name

结果:根据id,name 组合去重

3、row_number ()over(partition by 列 order by 列 asc | desc)方法

3.1 row_number() over(order by column asc)   先对列column按照升序,再为每条记录返回一个序列号

3.2 row_number() over(partition by column1 order by column2 asc) 先按照column1分组,再对分组后的数据根据column2 升序排列

注:order by 必须得有

例子select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a;

去重例子:根据 id和sex 去重

select id,name,sex from(
select a.*,row_number() over(partition by a.id,a.sex order by name) su from test a )
where su=1

结果:

我的需求是:根据某几列去重 查询出去重后的全部信息。

oracle 去重查询相关推荐

  1. Oracle去重查询实例

    Oracle去重查询实例 今天工作中遇到了一个关于去重的查询,琢磨了半天,终于想明白了,这里简单记录一下. distinct函数 说到去重,可能第一反应就是distinct函数,但其实distinct ...

  2. MySQL ,ORACLE去重查询

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录, 实例: select distinct name,id from us ...

  3. Oracle去重查询

    distinct的用法 1.distinct+单个字段,表示对该字段进行去重 2.distinct+column1+column2 表示的是使用多个字段进行联合去重 方法一:GROUP BY分组去重 ...

  4. oracle字段去重查询,oracle怎么去重查询

    oracle怎么去重查询 oracle去重查询的方法是: oracle 数据库多字段去重 方法介绍:distinct 关键字.group by .row_number ()over(partition ...

  5. ORACLE和MYSQL 去重查询

    ORACLE // 去重查询 select * from(select 别名1.*, row_number() over(partition by 别名1.列名1 order by 别名1.列名2 A ...

  6. oracle去重离子,oracle去重

    oracle去重 create table tmp_table3 as (SELECT seqno FROM (SELECT t.seqno,ROWID, ROW_NUMBER() OVER(PART ...

  7. oracle数据库多列去重查询,oracle 数据库 去重查询

    oracle 数据库多字段去重 方法介绍:distinct 关键字.group by  .row_number ()over(partition by 列 order by 列 desc) 我的需求是 ...

  8. oracle 数据库去重查询

    oracle数据库中有如下一张表,包含id,loginid,name,researchtime等字段,其中name字段中的数据有重复,查询数据时要重复数据只取一条,利用row_number ()ove ...

  9. oracle去重等基础问题

    --去重查询方法一:根据id select * from sxe where id in(select min(id) from sxe group by username) order by id ...

最新文章

  1. android ijkplayer使用_Ijkplayer、ExoPlayer、VLC播放器综合比较
  2. 一图看懂新一代人工智能知识体系大全
  3. c打印char* 数据_JAVA基础篇(数据类型)
  4. [MATLAB粒子模拟笔记]归一化输入系数
  5. spring5源码解读
  6. WSS Alert(邮件提醒) 定制
  7. 连接池dbcp跟c3p0
  8. Java 开发者希望未来使用 Python 和 Go
  9. linux每日命令(20):find命令概览
  10. 系统性能测试实施流程
  11. 判断质数的所有方法详解(C语言)
  12. 电子科技大学生物信息学 重点
  13. 一套最有效的商业模式,老板贷款80万开火锅店,开业就回本?
  14. 从零开始的ESP8266探索(11)-定时任务调度器Ticker使用演示
  15. SQL Server学习笔记6——LTRIM()函数(去掉空格)
  16. USB Network Gate SDK Crack,构建USB Network Gate的技术
  17. WLAN, WPAN 和 WMAN技术的对比
  18. 开源软件和开源社区的反思
  19. Cu杂质对Si(110)湿法蚀刻的影响
  20. 公寓报修系统(IDEA,SSM,MySQL)

热门文章

  1. GNSS/INS组合导航(七):卡尔曼滤波
  2. 打AI比赛的模板整理
  3. 深度相机之TOF初探
  4. MySQL中的聚合函数
  5. 8大主流自媒体平台运营方式分享,别再说做自媒体赚不到钱
  6. 热门的Java开源项目
  7. ipad分屏功能怎么用_直通车新功能解读,智能出价怎么用
  8. FileZilla无法连接到服务器
  9. java获取鼠标在屏幕中的位置 方法一_Java如何获取鼠标指针的位置?
  10. CSS3 实现文字渐变色