读书人

-除相同-解决办法

发布时间: 2012-02-23 22:01:35 作者: rapoo

------------------------------------------------除相同----------------------------------------------------
我的中有很多相同的 所能看到的 都是相同的 需要掉其中一

SQL code
select e.*from employee ewhere rowid > (select min(rowid)                  from employee b                 where e.employee_id = b.employee_id)

我用上面的 并有查出
然後 我用手的方法找到一相同的id=‘123’ 用123id去查rowid 可是也只能查到一rowid 可是123的明明是重的 什么呢?

用什么法 能除我中的重呢?

[解决办法]
SQL code
delete   from employee  where rowid not in (             select min(rowid)               from employee               group by employee_id     )
[解决办法]

SQL code
select jobfrom (select job,row_number()over (partition by job order by job )rn      from emp)--要按什么删除 order by里 排下序就可以了
[解决办法]
然後 我用手的方法找到一相同的id=‘123’ 用123id去查rowid 可是也只能查到一rowid 可是123的明明是重的 什么呢?
--------------------------------------------------

你是如何确认这条数据明明是重复的?估计是你没有commit
[解决办法]
SQL code
DELETE FROM EMPLOYEE E2 WHERE ROWID NOT IN       (SELECT MAX(E1.ROWID)          FROM EMPLOYEE E1         WHERE E1.EMPLOYEE_ID = E2.EMPLOYEE_ID);
[解决办法]
删除的方法是对的,查看有没有提交

读书人网 >oracle

热点推荐