Eu suponho que você está falando de algo como
SELECT *
FROM mytable
GROUP BY
column
Você não deve usar expressões não agregadas em
GROUP BY
a menos que sejam todos iguais dentro do grupo. Se você quiser retornar o registro que contém o menor valor de uma expressão dentro de um grupo, use isto:
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
)