我有一张这样的桌子
ID nachname vorname
1 john doe
2 john doe
3 jim doe
4 Michael Knight
Run Code Online (Sandbox Code Playgroud)
我需要一个查询,它将返回具有相同nachname和vorname的记录中的所有字段(select*)(在本例中为记录1和2).谁能帮我这个?谢谢
wim*_*vds 14
以下查询将给出重复列表:
SELECT n1.* FROM table n1
inner join table n2 on n2.vorname=n1.vorname and n2.nachname=n1.nachname
where n1.id <> n2.id
Run Code Online (Sandbox Code Playgroud)
BTW您发布的数据似乎有误"Doe"和"Knight"是姓,而不是名字:p.
ewe*_*nli 11
您的问题的一般解决方案是查询表单
SELECT col1, col2, count(*)
FROM t1
GROUP BY col1, col2
HAVING count(*) > 1
Run Code Online (Sandbox Code Playgroud)
这将为表中的每组重复行返回一行.此结果中的最后一列是特定值的重复数.
如果您真的想要ID,请尝试以下方法:
SELECT id FROM
t1,
( SELECT col1, col2, count(*)
FROM t1
GROUP BY col1, col2
HAVING count(*) > 1 ) as t2
WHERE t1.col1 = t2.col1 AND t1.col2 = t2.col2
Run Code Online (Sandbox Code Playgroud)
虽然没有测试过
| 归档时间: |
|
| 查看次数: |
14703 次 |
| 最近记录: |