use*_*781 15 mysql sql select duplicates
可能重复:
在MySQL中查找重复记录
我在MySQL中有一个像这样的表:
ID name email
1 john abc@abc.com
2 johnny abc@abc.com
3 jim eee@eee.com
4 Michael abec@awwbc.com
Run Code Online (Sandbox Code Playgroud)
我怎么能有MySQL查询将列出这样的重复一个?
重复搜索的结果:
ID name email Duplicate
1 john abc@abc.com 2
2 johnny abc@abc.com 2
Run Code Online (Sandbox Code Playgroud)
Joh*_*Woo 31
SELECT a.*, b.totalCount AS Duplicate
FROM tablename a
INNER JOIN
(
SELECT email, COUNT(*) totalCount
FROM tableName
GROUP BY email
) b ON a.email = b.email
WHERE b.totalCount >= 2
Run Code Online (Sandbox Code Playgroud)
为了获得更好的性能,请添加一个INDEXon列EMail.
要么
SELECT a.*, b.totalCount AS Duplicate
FROM tablename a
INNER JOIN
(
SELECT email, COUNT(*) totalCount
FROM tableName
GROUP BY email
HAVING COUNT(*) >= 2
) b ON a.email = b.email
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26458 次 |
| 最近记录: |