Zakładam, że mówisz o czymś takim jak
SELECT *
FROM mytable
GROUP BY
column
Nie powinieneś używać niezagregowanych wyrażeń w GROUP BY
chyba że wszystkie są takie same w grupie.
Jeśli chcesz zwrócić rekord zawierający najmniejszą wartość wyrażenia w grupie, użyj tego:
SELECT mo.*
FROM (
SELECT DISTINCT column
FROM mytable
) md
JOIN mytable mo
ON mo.id =
(
SELECT id
FROM mytable mi
WHERE mi.column = md.column
ORDER BY
mi.column, mi.someorder
LIMIT 1
)