我有一个看起来很简单的问题,但我无法弄清楚。
我有以下内容:
Name Zipcode
ER 5354
OL 1234
AS 1234
BH 3453
BH 3453
HZ 1234
我想找到那些 ID 没有明确定义一行的行。所以我想在这里看到:
OL 1234
AS 1234
HZ 1234
或者只是邮政编码就足够了。很抱歉我忘记提到一个重要的部分。如果名称相同,则没有问题,仅当相同的邮政编码有不同的名称时。
所以这意味着:BH 3453 不会返回
最佳答案
我想这就是你想要的
select zipcode
from yourTable
group by zipcode
having count(*) > 1
它选择与多个记录相关联的邮政编码
回答您更新的问题:
select zipcode
from
(
select name, zipcode
from yourTable
group by name, zipcode
)
group by zipcode
having count(*) > 1
应该这样做。在性能方面可能不是最佳的,在这种情况下,您可以使用@a1ex07 建议的窗口函数
关于sql - 在 Oracle SQL 中查找不唯一的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26101767/