Something like SELECT * FROM T WHERE C IN (SELECT C FROM T GROUP BY C HAVING COUNT(*) > 1) Might work. Untested. Top of the head. And, indeed, it does. DECLARE @T TABLE ( id INTEGER IDENTITY , C VARCHAR(10) ); INSERT INTO @T VALUES ( 'foo' ), ( 'foo' ), ( 'bar' ); SELECT * FROM @T; SELECT * FROM @T WHERE C IN ( SELECT C FROM @T GROUP BY C HAVING COUNT(*) > 1 ); Tested in SQL2014. You weren't clear which version you were using, but the technique should be fine in SQL2005.