【问题标题】:MySQL - search for duplicatesMySQL - 搜索重复项
【发布时间】:2011-10-07 16:30:59
【问题描述】:

已解决!谢谢大家。

我需要搜索重复项 - 表格如下:

id, q1, q2, q3, text

id 是唯一的,我只对查找字段 text 相同的重复项感兴趣。

任何建议,因为我不知道从哪里开始!

谢谢,

荷马。

【问题讨论】:

    标签: mysql select duplicates


    【解决方案1】:

    这将返回 text 的重复值:

    SELECT  text
    FROM    mytable
    GROUP BY
            text
    HAVING  COUNT(*) > 1
    

    这将返回具有text 重复值的所有记录:

    SELECT  m.*
    FROM    (
            SELECT  text
            FROM    mytable
            GROUP BY
                    text
            HAVING  COUNT(*) > 1
            ) q
    JOIN    mytable m
    ON      m.text = q.text
    

    【讨论】:

    • 很棒,尤其是能够返回记录 - 非常感谢。谢谢!
    【解决方案2】:

    当我做类似的事情时,我通常会结合使用计数查询和“拥有”。

    例如:

    select 
      text,
      count(*) as cnt
    from
      table_name
    group by 
      text
    having cnt > 1;
    

    【讨论】:

      猜你喜欢
      • 2018-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多