admin

在多列中查找具有相同值的行

sql

我试图找到具有重复值,但仅基于选定的列数,而不是单个列或整个行的行。例如,如果我的表如下所示:

ID     Address    State    Name
-------------------------------
0      7 Brown    NY       John
1      3 Red      WX       Jane
2      7 Brown    WX       Ted
3      7 Brown    NY       Fred

我的问题是:

查找行的“地址和状态”字段与另一行的“地址和状态”字段匹配的行的所有ID。

该查询的答案将是:

ID    Address    State    Name
------------------------------
0     7 Brown    NY       John
3     7 Brown    NY       Fred

有任何想法吗?

意见建议: 如何从单个表中选择同一行中的多列值


阅读 209

收藏
2021-05-10

共1个答案

admin

请尝试以下方法:

SELECT A.*
FROM YourTable A
INNER JOIN (SELECT Address, State
            FROM YourTable
            GROUP BY Address, State
            HAVING COUNT(*) > 1) B
ON A.Address = B.Address AND A.State = B.State
2021-05-10