我想知道如何在表中爲重複行創建一個標誌。例如:如果我得到重複的行,它會顯示我1,如果我沒有得到任何重複行,它會顯示0如何在oracle中爲重複值創建一個標誌
我嘗試了我都用來檢查它是否會工作
SQL> select * from t_flag
2/
EMP_NAME EMP_NO DEPT
-------------------------------------------------- --------- --------------------
ROBI 1 AGRO
ROBI 1 AGRO
BORIS 2 IT
SID 3 VET
BORIS 2 IT
select t_flag.*,
(case when row_number() over (partition by emp_name,emp_no,dept order by emp_name) = 1
then 0 else 1
end) as GroupFlag
from t_flag
SQL>/
EMP_NAME EMP_NO DEPT GROUPFLAG
-------------------------------------------------- --------- -------------------- ---------
BORIS 2 IT 0
BORIS 2 IT 1
ROBI 1 AGRO 0
ROBI 1 AGRO 1
SID 3 VET 0
什麼,我想從結果讓這個測試表下面是:重複1行 和0非重複行
謝謝!
使用'COUNT()'解析函數,而不是'ROW_NUMBER()' –
的問題是:你爲什麼允許重複? – jarlh
@ jarlh,我在工作中經常在我的oracle表中獲取重複行。這就是爲什麼我必須在繼續更新,插入等之前檢查表格。 – Iftekhar