解决sql 过滤重复数据记录的方法(Oracle)
2012-09-03 09:25
585 查看
分别创建了两个临时表,并按不同的字段作查询示例:
返回结果:
返回结果:
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 未知
相关文章推荐
- Oracle SQL中查找和删除重复记录方法
- oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法
- Oracle删除重复记录只保留一条数据的几种方法
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录)
- linux sqlplus查询数据中文乱码解决方法记录
- oracle查询重复数据与删除重复记录方法
- oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录)
- sql过滤掉重复记录,只保留一条数据
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- SQL技巧1:Oracle中删除重复记录方法
- sql删除多个字段重复数据有主键和没主键解决方法(mysql)
- 解决Oracle删除重复数据只留一条的方法详解
- Oracle SQL中查找和删除重复记录方法
- 【转贴】Oracle查询重复数据与删除重复记录方法
- oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法: 1、查看数据库锁,诊断锁的来源及类型: select object_id
- oracle 快速删除大批量数据方法(全部删除,条件删除,删除大量重复记录) 转
- Oracle查询重复数据与删除重复记录方法
- 解决Oracle删除重复数据只留一条的方法详解
- Oracle查询重复数据与删除重复记录方法