Basé mi respuesta solo en el título de su publicación, ya que no sé C # y no entendí la consulta dada. Pero en MySQL le sugiero que pruebe las subselecciones. Primero obtenga un conjunto de claves principales de columnas interesantes y luego seleccione datos de esas filas:
SELECT somecolumn, anothercolumn
FROM sometable
WHERE id IN (
SELECT min(id)
FROM sometable
GROUP BY somecolumn
);