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

标签 sql sql-server

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

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

我的问题是:

Find all ID's for rows where the row's Address and State field matched another row's Address and State field.

此查询的答案是:

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

有什么想法吗?

建议: How to select multiple columns values same rows from single table

最佳答案

尝试以下操作:

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

关于sql - 查找多列中具有相同值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056235/

相关文章:

sql-server - 游标中的 sys.databases 跳过数据库

SQL:选择两列相减的最小值,并选择最小相减中使用的数字

c++ - 使用 C++ sql.h 备份 SQL 数据库

c# - 系统.Data.OleDb.OleDbException : Syntax error in INSERT INTO statement

SQL Grant on - 适用于多个用户

sql-server - 用于确定标量函数的返回类型的 SQL 查询

sql - 将存储为 DT_STR 的日期转换为 DT_DBDATETIMEOFFSET

PHP:上传图像名称前面带有 HTTP 路径的图像?

sql - 序列与同一性

sql-server - 将 ms access 驱动的站点从 sql server 移动到 jabry.com - 连接字符串问题