在Oracle表中查找重复值

时间:2017-08-15 18:17:25

标签: oracle duplicates

在Oracle数据库中有一个名为MESSAGE的表。此表包含一些字段,其中包括LOCALID和APPLICATIONNAME。

以下是在数据库中输入的值的示例

LOCALID - APPLICATIONNAME
1       - app1
1       - app1
1       - app1
2       - app2
2       - app2
2       - app2
1       - app3
1       - app3

在某些时候,LOCALID会将自己重复到不同的APPLICATIONNAME。

我需要找到所有这些具有不同APPLICATIONNAME和LOCALID的值。

如何针对这种情况进行Oracle查询?

1 个答案:

答案 0 :(得分:2)

我不太明白你需要这两个中的哪一个所以我包括了两个:

查找重复项的查询:

Select localid, applicationname, count(*)
from yourtable
group by localid, applicationname
having count(*) > 1;

查询所有不同组合或两个字段的查询。

select distinct localid, applicationname 
from yourtable

编辑我

我想我现在明白了。 此查询将为您提供分配给多个应用程序名称的localids。

select localid, count(*)
from (
    select distinct localid, applicationname 
    from yourtable
) 
group by localid
having count(*) > 1;