查找SQL中一个字段不同的重复记录

查找SQL中一个字段不同的重复记录,sql,Sql,我想找到源列不同但票证id相同的重复票证id(请参见下图,其中记录为红色) 这是表格结构 这就是我尝试过的 SELECT ticket_id, SOURCE, COUNT(ticket_id) AS NumOccurrences FROM mytable GROUP BY ticket_id, SOURCE HAVING ( COUNT(ticket_id) > 1 ) 您可以根据票证id进行分组,并仅对源的不同计数大于1的票证进行筛选 SELECT * FROM myt

我想找到源列不同但票证id相同的重复票证id(请参见下图,其中记录为红色)

这是表格结构

这就是我尝试过的

SELECT ticket_id, SOURCE, COUNT(ticket_id) AS NumOccurrences
FROM mytable
GROUP BY ticket_id, SOURCE
HAVING ( COUNT(ticket_id) > 1 )

您可以根据票证id进行分组,并仅对源的不同计数大于1的票证进行筛选

   SELECT * 
   FROM mytable 
   WHERE Ticket_ID IN (
        SELECT Ticket_ID
        FROM mytable
        GROUP BY Ticket_ID
        HAVING COUNT(DISTINCT Source) > 1)
上面返回的是实际的行。如果你只需要计数,你可以

SELECT Ticket_ID, COUNT(1)
FROM mytable
GROUP BY Ticket_ID
HAVING COUNT(DISTINCT source) > 1
这应该起作用:

SELECT d.Ticket_ID, COUNT(*)
FROM(
   SELECT DISTINCT Ticket_ID, Source
   FROM dups  
 ) d GROUP BY ticket_id 
HAVING COUNT(*) > 1 
如果希望查询返回票证ID和来源,则可以执行以下操作:

SELECT a.* FROM dups a
JOIN( 
    SELECT d.Ticket_ID, count(*)
    FROM(
       SELECT distinct Ticket_ID, Source
       FROM dups  
     ) d GROUP BY ticket_id 
     HAVING COUNT(*) > 1 
) b on a.Ticket_ID = b.Ticket_ID

不是免费的代码编写服务。您应该尝试自己编写代码。之后,如果你有问题,你可以张贴你已经尝试了一个明确的解释什么是不工作,并提供一个解决方案。我建议你读一个好的问题和答案。另外,请务必使用。@Igor我将我尝试过的代码粘贴到上面。如果您有3个重复的票证id值,并且有2个不同的来源(例如:2x apple和1x tiger),该怎么办?谢谢您的回复。您的代码还提供了重复票证id和重复源的记录。例如,票证id为4444,来源为Apple。你们看上图中的第5行和第6行,我不知道你们的意思是什么,它不会返回4444。请参阅示例数据的演示