当前位置: 代码迷 >> SQL >> 解决sql 过滤反复数据记录的方法(Oracle)
  详细解决方案

解决sql 过滤反复数据记录的方法(Oracle)

热度:64   发布时间:2016-05-05 13:35:03.0
解决sql 过滤重复数据记录的方法(Oracle)
分别创建了两个临时表,并按不同的字段作查询示例:
create table table1 (id int, ip varchar(15), city char(20)); insert into table1  values(1, '127.0.0.1', '深圳') ;insert into table1  values(2, '127.0.0.2', '广州') ;insert into table1  values(3, '127.0.0.2', '广州') ;insert into table1  values(4, '127.0.0.2', '广州') ;insert into table1  values(5, '127.0.0.2', '北京') ;insert into table1  values(6, '127.0.0.4', '上海') ;insert into table1  values(7, '127.0.0.4', '上海') ;insert into table1  values(8, '127.0.0.4', '上海') ;insert into table1  values(9, '127.0.0.7', '未知'); -- 按字段IP查询 select * from table1 where id in -- 检索重复ip的纪录 (select min(id) from table1 where ip in -- 求重复ip的其中一个id (select ip from table1 group by ip having count(1) >= 1) -- 取出重复的ip group by ip ) ;


返回结果:
1	1	127.0.0.1          深圳                2	2	127.0.0.2          广州                3	6	127.0.0.4	         上海                4	9	127.0.0.7	         未知   
           

create table table2 (id int, ip varchar(15), city char(20)); insert into table2 values( 1, '127.0.0.1', '深圳') ;insert into table2 values( 2, '127.0.0.2', '广州') ;insert into table2 values( 3, '127.0.0.2', '广州') ;insert into table2 values( 4, '127.0.0.3', '北京') ;insert into table2 values( 5, '127.0.0.3', '北京') ;insert into table2 values( 6, '127.0.0.4', '上海') ;insert into table2 values( 7, '127.0.0.4', '上海') ;insert into table2 values( 8, '127.0.0.4', '上海') ;insert into table2 values( 9, '127.0.0.7', '未知');



-- 按字段city查询 select * from table1 where id in -- 检索重复city的纪录 (select min(id) from table1 where city in -- 求重复city的其中一个id (select city from table1 group by city having count(1) >= 1) -- 取出重复的city group by city );


返回结果:
1	1	127.0.0.1         深圳                2	2	127.0.0.2	         广州                3	4	127.0.0.3	         北京                4	6	127.0.0.4	         上海                5	9	127.0.0.7         未知    
           

  相关解决方案