返回所有重复的行

XSL*_*XSL 14 sql sqlite select group-by duplicates

我写了这段代码来查找重复项,它工作正常:

SELECT *
FROM StyleTable 
GROUP BY Color
HAVING count(*) > 1 
Run Code Online (Sandbox Code Playgroud)

问题是,它只返回一个重复的行.是否可以返回所有重复的行?我猜这可能与'GROUP BY'有关,但我不知道如何改变它.我不想删除值,只返回它们.

Pet*_*art 20

您必须再次加入表格以获得我认为的重复项.就像是:

SELECT * 
FROM StyleTable 
WHERE Color IN (
  SELECT Color  
  FROM StyleTable   
  GROUP BY Color  
  HAVING count(*) > 1 
)     
Run Code Online (Sandbox Code Playgroud)


Joe*_*lli 7

SELECT s.*
    FROM StyleTable s
        INNER JOIN (SELECT Color
                        FROM StyleTable
                        GROUP BY Color
                        HAVING COUNT(*) > 1) q
            ON s.Color = q.Color
Run Code Online (Sandbox Code Playgroud)