查找SQL中一个字段不同的重复记录
我想找到源列不同但票证id相同的重复票证id(请参见下图,其中记录为红色) 这是表格结构 这就是我尝试过的查找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
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。请参阅示例数据的演示