Andere Datenbanken (z. B. MS SQL Server) erlauben es nicht, aggregierte Werte mit nicht aggregierten Werten zu mischen, nur weil Sie das falsche Ergebnis erhalten würden.
Wenn Sie also nicht aggregierte Werte aus dem Datensatz mit dem Höchstwert wünschen, verknüpfen Sie die Tabelle erneut:
select x.user, y.col1, y.col2, x.col3
from (
select user, max(col3) as col3
from table
group by user
) x
inner join table y on y.user = x.user and y.col3 = x.col3
order by x.user