检查表中相同的列值对的 sql 查询是什么?

use*_*103 2 mysql sql database

我有一个表 emp(id, name,salary) 并且没有主键(我知道这是一个坏主意,但我的工作是在不一致的表上)
我想要一个查询来检索具有相同值对(id、name)的元组) 我尝试使用 self join 但没有得到确切的声明。这里正在考虑同一对,但我正在为 2 个以上的属性进行比较。请帮助示例

     id     name   salary
     1      a       100
     1      b       100
     2      a       200

     1      a       300
     2      c       200
Run Code Online (Sandbox Code Playgroud)

所以我想找到具有相同 id 和 name 值的元组。这是(1,a)

Pad*_*ddy 6

您可以通过分组找到它们,并且只选择那些计数大于 1 的记录:

SELECT ID, Name
FROM Table
GROUP BY ID, Name
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)