Hello Friend use this
with TEMP_TABLE (ID, Color,IMAGEID,TEMP_ID,ColorImage,Ranking)
as (
SELECT Colors.ColorID, Colors.Color, ColorImages.ImageID, ColorImages.ColorID AS TEMP_ID, ColorImages.ColorImage
,rank() over (Partition by Colors.Color Order by ColorImages.ImageID) MyRank
FROM Colors INNER JOIN
ColorImages ON Colors.ColorID = ColorImages.ColorID
)
SELECT * from TEMP_TABLE where
Ranking = 1 ORDER BY TEMP_TABLE.ID