我有一个看起来很简单的问题,但我无法弄清楚。
我有以下内容:

   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/

10-12 19:51