【问题标题】:Output column ID of duplicate MySQL Entry重复 MySQL 条目的输出列 ID
【发布时间】:2019-03-18 19:57:38
【问题描述】:

我有一个包含“ticket_id”和“subject”列的表格。

我想在“主题”列中搜索重复项,然后输出重复项各自的“ticket_id”。

很遗憾,我不知道该怎么做。

我目前有这个查询:

SELECT subject, COUNT(*) FROM ost_ticket__cdata GROUP BY subject HAVING COUNT(subject) > 1

效果很好,给了我“主题”列中所有重复条目的列表和计数,但是我怎样才能获得它们的“ticket_id”?

该表名为“ost_ticket__cdata”,它包含两列:“ticket_id”和“subject”

【问题讨论】:

    标签: mysql duplicates output


    【解决方案1】:

    只需将您的查询用作子查询来过滤掉行。例如:

    select *
    from ost_ticket__cdata
    where subject in (
      SELECT subject FROM ost_ticket__cdata GROUP BY subject HAVING COUNT(subject) > 1
    )
    

    【讨论】:

      【解决方案2】:

      使用EXISTS,您可以检查具有相同subject 但不同ticket_id 的行:

      SELECT t.ticket_id
      FROM ost_ticket__cdata t
      WHERE EXISTS (
        SELECT 1 FROM ost_ticket__cdata
        WHERE ticket_id <> t.ticket_id AND subject = t.subject
      )
      ORDER BY t.ticket_id
      

      【讨论】:

      • 谢谢,这太棒了!有没有办法让它只输出 t.ticket_id?我能够让它输出到文件中。我将其更改为ORDER BY t.ticket_id,但仍然给了我 t.subject 为好。无论如何,这给了我我需要的东西。接下来,我将把它构建到一个 php 脚本中以删除重复项。非常感谢。
      猜你喜欢
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2023-03-15
      • 2020-04-09
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      相关资源
      最近更新 更多