【问题标题】:Listing all rows that have a duplicate entry in a particular column in MySQL table列出在 MySQL 表的特定列中具有重复条目的所有行
【发布时间】:2012-08-06 03:24:41
【问题描述】:

尽管进行了大量搜索,但我还没有找到正确的方法来列出特定列中具有相同内容的行的所有列(假设列“名称”)。

因此,如果我的名为 USERS 的表具有以下内容:

ID      User      Name

1       Nick      Nick
2       NickP     Nick
3       NickC     Nick
4       John      John
5       Brian     Brian

SELECT 语句应该返回:

ID      User      Name

1       Nick      Nick
2       NickP     Nick
3       NickC     Nick

因为这些都是在“名称”列中包含相同内容的所有行。这个要怎么写?

【问题讨论】:

    标签: mysql select duplicates


    【解决方案1】:

    这个怎么样?

    SELECT * FROM Users WHERE Name IN(SELECT Name FROM Users GROUP BY Name HAVING COUNT(1) > 1)
    

    【讨论】:

    • 我有同样的问题,但是在我的表中有超过 90000 条记录,所以这个查询大约需要 8 分钟才能执行。你能告诉一个有效的吗?
    • 为了效率,猜你需要用PHP。我有 3000 条记录并搜索相同的 blob 图像。查询不成功,超时。
    猜你喜欢
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2013-08-10
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    相关资源
    最近更新 更多