首页 > 编程知识 正文

数据库数据去重语句,oracle数据去重方法

时间:2023-05-06 16:21:14 阅读:31105 作者:1275

重新定位Oracle数据库中的多个字段

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

我的需要是根据某一列重新搜索危重后的所有信息。 最后我选择的是第三种方法。

我的想法:我想找到更简单的方法实现重新搜索。 越直接越好。

表的结构内容

1、distinct关键字用法:要通过distinct关键字后的字段组合重新运行distinct

select distinct id from test

结果; 根据id去除重量

选择distinct id,name from test

结果:由于id和name的组合而变重(如id || name那样变重)

2、集团去重

选择id,name from test group by id,name

结果:根据id的不同,name组合会变重

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

3.1按升序对row _ number (over ) orderbycolumnasc列column进行排序,并为每个记录返回序列号

3.2row_number(over ) partitionbycolumn1order by column2ASC )首先根据column1分组,然后根据column2按升序排列分组的数据

注: order by必须有

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

危重病例:根据id和sex移除重量

选择id、name、sex from (

select a.*,row_number () over ) partitionbya.id,a.sex order by name (su from test a ) )。

where su=1

结果:

我的需要是根据某一列重新搜索危重后的所有信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。