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怎么去重查询的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
oracle 12c实现手工建库而非cdb及cdb创建的方法
更多相关阅读请进入《oracle》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。