我正在使用oracle數據庫。我想從一個表中使用重複的行,除了一個,這意味着我想刪除所有行,但至少有一行應該在那裏。 我有一個表從oracle刪除重複的行
employee_id ---- department_id
1 10
2 10
1 20
3 30
2 30
現在我想刪除重複的行,但至少一行應該在那裏。
select count(employee_id),employee_id
from employee
group by employee_id
having count(employee_id) >1));
我曾經用它找到多個部門的員工人數,但找不到進一步移動的方法。如果我使用刪除那裏它將刪除所有重複,但我想保留一個副本。
從empl的 刪除其中ENO IN(來自( SELECT COUNT(ENO),通過ENO 具有計數(ENO)ENO 從empl的 組> 選擇ENO 1));
編輯:我想留住僱員標識 任何一個誰可以指導我進一步
@ ZanShah120 - 你關心你留住哪一行?你關心employee_id'1是否停留在'department_id'10或20? – 2012-03-03 08:22:32
我想保留employe_id – 2012-03-03 08:23:18
@ ZanShah120 - 這是什麼意思?我相信你想保留一行有'employee_id' 1.有在你發佈的數據中沒有重複的行,有兩行'employee_id'1,但它們有不同的'department_id'值。你想要保留哪兩個'department_id'值?你總是希望最大的'department_id' ?最小?其他? – 2012-03-03 08:26:48