Swoją odpowiedź oparłem wyłącznie na tytule Twojego posta, ponieważ nie znam C# i nie zrozumiałem zadanego zapytania. Ale w MySQL sugeruję wypróbowanie podselekcji. Najpierw pobierz zestaw kluczy podstawowych interesujących kolumn, a następnie wybierz dane z tych wierszy:
SELECT somecolumn, anothercolumn
FROM sometable
WHERE id IN (
SELECT min(id)
FROM sometable
GROUP BY somecolumn
);