You can use the following to return all records with a flag for those containing the modal value:-- Create table variableDECLARE @MyTab TABLE(MyCode INT, MyOtherAttribute CHAR(1))-- Populate with test dataINSERT INTO @MyTab (MyCode, MyOtherAttribute)SELECT 1, 'a'UNION SELECT 1, 'a'UNION SELECT 2, 'a'UNION SELECT 3, 'b'UNION SELECT 4, 'b'UNION SELECT 4, 'c'UNION SELECT 4, 'c'-- Return resultsetSELECT MyTab.MyCode, MyTab.MyOtherAttribute, CASE WHEN Mode.MyCode IS NULL THEN 0 ELSE 1 END AS ModeFROM @MyTab AS MyTabLEFT JOIN( SELECT TOP 1 MyTab.MyCode FROM @MyTab AS MyTab GROUP BY MyTab.MyCode ORDER BY COUNT(*) DESC ) AS ModeON MyTab.MyCode = Mode.MyCode
Mark