oracle数据库去重查询_oracle高效去重
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
结果:
我的需求是:根据某几列去重 查询出去重后的全部信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187035.html原文链接:https://javaforall.cn
相关文章
- 数据库Oracle数据库备份:把安全命令化”(命令备份oracle)
- Oracle 笔试:挑战极限!(oracle笔试)
- Oracle 数据库安全性优化指南(oracle段)
- 优化Oracle数据库性能:增加表索引(oracle表加索引)
- Oracle 基础操作实战指南(oracle基础操作)
- 掌握 Oracle 开发艺术,实现数据库高效解决方案(oracle开发艺术)
- Oracle查询:获取第一行(oracle查询第一行)
- Oracle数据库服务名:如何管理和使用?(oracle数据库服务名)
- Oracle优化加速:提升效率和性能(oracle 优化速度)
- Oracle数据库的高效分页查询技术(oracle高效分页查询)
- Oracle公司的雇员统计表(oracle公司雇员表)
- 用C语言连接Oracle数据库源码实现(c 链接oracle源码)
- 从C编程实现Oracle数据库登录功能(c登录功能oracle)
- 提升数据库性能C语言更新Oracle视图(c 更新oracle视图)
- 数据库C与Oracle数据库的桥梁访问演示(cpp访问oracle)
- 深入探索Oracle数据库的DO查询(DOs查询oracle)
- Oracle中限制字符串长度的实施方法(oracle中限制长度)
- 编码禁止Oracle中使用中文编码(oracle中禁止中文)
- Oracle什么是主键(oracle什么叫主键)
- 高效运用Oracle事务实现稳健操作(oracle 事务操作吗)
- 伪表伪列在Oracle数据库中的应用(oracle中的伪表伪列)
- Oracle中的属性准确高效的SQL搜索(oracle中%属性)
- Oracle数据库中两表全面连接技术研究(oracle两表全连接吗)
- Oracle不仅限于1和2(oracle不等于1和2)
- Oracle 12R2新版数据库提升了技术级别(oracle 12 r2)