oracle怎么去重查询 | 您所在的位置:网站首页 › win10更新版本22H2要多久 › 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 结果: 我的需求是:根据某几列去重 查询出去重后的全部信息。 推荐教程: 《Oracle教程》 以上就是oracle怎么去重查询的详细内容,更多请关注php中文网其它相关文章! |
CopyRight 2018-2019 实验室设备网 版权所有 |