Presumo che tu stia parlando di qualcosa come
SELECT *
FROM mytable
GROUP BY
column
Non dovresti usare espressioni non aggregate in GROUP BY
a meno che non siano tutti uguali all'interno del gruppo.
Se vuoi restituire il record che contiene il valore minimo di un'espressione all'interno di un gruppo, usa questo:
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
)