首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql剔除重复行

2012-11-22 
sql删除重复行1、删除重复行如何只显示重复数据,或不显示重复数据显示重复:select id from tablename group

sql删除重复行
1、删除重复行
如何只显示重复数据,或不显示重复数据
   显示重复:select id from tablename group by id having count(*)>1
   显示未重复:select id from tablename group by id having count(*)=1
--找出重复行
select empno, count(*) from emp e group by empno having(count(*) > 1);
--保留一行 rowid
select min(rowid) from emp group by empno having count(*) > 1;
--找出只有一行数据 不重复
select min(rowid) from emp group by empno having count(*) = 1;
--二者关联
select *
   from (select min(rowid) from emp group by empno having count(*) > 1)
union (select min(rowid) from emp group by empno having count(*) = 1)
--删除
--delete from 表名 where 条件
--删除重复
delete from emp
where rowid not in
       (select min(rowid) from emp group by empno having count(*) > 1)
   and empno not in (select empno from emp group by empno having count(*) = 1);

热点排行
Bad Request.