This should get you started...
WITH
cteRandomlyNumber AS
(
SELECT PersonID,
CoID,
RowNum = ROW_NUMBER() OVER (PARTITION BY CoID ORDER BY NEWID())
FROM dbo.People
)
SELECT PersonID, CoID
FROM cteRandomlyNumber
WHERE RowNum <= 10
Takes about 12 seconds on a million employees across 676 different companies.
--Jeff Moden
Change is inevitable... Change for the better is not.